app: simplify app start error handling
In SPDK applications, spdk_app_start() is always followed by spdk_app_fini(), so remove all global-state cleanup from app_start() and let it be done by app_fini(). Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Change-Id: Id9fda9fda92f16cc59565691489d4a5ab4c577a5 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470735 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
0cf0ee283b
commit
c4ecc8b876
@ -645,13 +645,13 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
|
|||||||
*/
|
*/
|
||||||
if ((rc = spdk_reactors_init()) != 0) {
|
if ((rc = spdk_reactors_init()) != 0) {
|
||||||
SPDK_ERRLOG("Reactor Initilization failed: rc = %d\n", rc);
|
SPDK_ERRLOG("Reactor Initilization failed: rc = %d\n", rc);
|
||||||
goto app_start_log_close_err;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp_cpumask = spdk_cpuset_alloc();
|
tmp_cpumask = spdk_cpuset_alloc();
|
||||||
if (tmp_cpumask == NULL) {
|
if (tmp_cpumask == NULL) {
|
||||||
SPDK_ERRLOG("spdk_cpuset_alloc() failed\n");
|
SPDK_ERRLOG("spdk_cpuset_alloc() failed\n");
|
||||||
goto app_start_log_close_err;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
spdk_cpuset_zero(tmp_cpumask);
|
spdk_cpuset_zero(tmp_cpumask);
|
||||||
@ -663,7 +663,7 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
|
|||||||
spdk_cpuset_free(tmp_cpumask);
|
spdk_cpuset_free(tmp_cpumask);
|
||||||
if (!g_app_thread) {
|
if (!g_app_thread) {
|
||||||
SPDK_ERRLOG("Unable to create an spdk_thread for initialization\n");
|
SPDK_ERRLOG("Unable to create an spdk_thread for initialization\n");
|
||||||
goto app_start_log_close_err;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -674,11 +674,11 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
|
|||||||
* in spdk_app_setup_signal_handlers().
|
* in spdk_app_setup_signal_handlers().
|
||||||
*/
|
*/
|
||||||
if (spdk_app_setup_trace(opts) != 0) {
|
if (spdk_app_setup_trace(opts) != 0) {
|
||||||
goto app_start_log_close_err;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((rc = spdk_app_setup_signal_handlers(opts)) != 0) {
|
if ((rc = spdk_app_setup_signal_handlers(opts)) != 0) {
|
||||||
goto app_start_trace_cleanup_err;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_delay_subsystem_init = opts->delay_subsystem_init;
|
g_delay_subsystem_init = opts->delay_subsystem_init;
|
||||||
@ -691,13 +691,6 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
|
|||||||
spdk_reactors_start();
|
spdk_reactors_start();
|
||||||
|
|
||||||
return g_spdk_app.rc;
|
return g_spdk_app.rc;
|
||||||
|
|
||||||
app_start_trace_cleanup_err:
|
|
||||||
spdk_trace_cleanup();
|
|
||||||
|
|
||||||
app_start_log_close_err:
|
|
||||||
spdk_log_close();
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user