Skip to content

Commit d9b59a6

Browse files
committed
[file provider] split initialize
1 parent 6fee430 commit d9b59a6

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/provider/provider_file_memory.c

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,25 @@ static umf_result_t file_initialize(const void *params, void **provider) {
295295

296296
file_provider->coarse = coarse;
297297

298+
*provider = file_provider;
299+
return UMF_RESULT_SUCCESS;
300+
301+
err_close_fd:
302+
utils_close_fd(file_provider->fd);
303+
err_free_file_provider:
304+
umf_ba_global_free(file_provider);
305+
return ret;
306+
}
307+
308+
static umf_result_t file_post_initialize(void *provider) {
309+
umf_result_t ret = UMF_RESULT_SUCCESS;
310+
file_memory_provider_t *file_provider = provider;
311+
312+
if (file_provider == NULL) {
313+
LOG_ERR("file provider is NULL");
314+
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
315+
}
316+
298317
if (utils_mutex_init(&file_provider->lock) == NULL) {
299318
LOG_ERR("lock init failed");
300319
ret = UMF_RESULT_ERROR_UNKNOWN;
@@ -315,20 +334,14 @@ static umf_result_t file_initialize(const void *params, void **provider) {
315334
goto err_delete_fd_offset_map;
316335
}
317336

318-
*provider = file_provider;
319-
320337
return UMF_RESULT_SUCCESS;
321338

322-
err_delete_fd_offset_map:
323-
critnib_delete(file_provider->fd_offset_map);
324-
err_mutex_destroy_not_free:
325-
utils_mutex_destroy_not_free(&file_provider->lock);
326339
err_coarse_delete:
327340
coarse_delete(file_provider->coarse);
328-
err_close_fd:
329-
utils_close_fd(file_provider->fd);
330-
err_free_file_provider:
331-
umf_ba_global_free(file_provider);
341+
err_mutex_destroy_not_free:
342+
utils_mutex_destroy_not_free(&file_provider->lock);
343+
err_delete_fd_offset_map:
344+
critnib_delete(file_provider->fd_offset_map);
332345
return ret;
333346
}
334347

@@ -916,12 +929,6 @@ static umf_result_t file_free(void *provider, void *ptr, size_t size) {
916929
return ret;
917930
}
918931

919-
static umf_result_t file_post_initialize(void *provider) {
920-
(void)provider;
921-
// For initial version, just return success
922-
return UMF_RESULT_SUCCESS;
923-
}
924-
925932
static umf_memory_provider_ops_t UMF_FILE_MEMORY_PROVIDER_OPS = {
926933
.version = UMF_PROVIDER_OPS_VERSION_CURRENT,
927934
.initialize = file_initialize,

0 commit comments

Comments
 (0)