From 744857a79a81af7b4a2fa4ea8ff59984345cefb9 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Thu, 28 Feb 2019 17:03:45 -0700 Subject: [PATCH] event: Eliminate g_app_start_event Change-Id: Ied9c6ebe5e15ee66d6d9695e55b04b33200dd33b Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446990 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Darek Stojaczyk --- lib/event/app.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/event/app.c b/lib/event/app.c index a64cc7c63..035832b76 100644 --- a/lib/event/app.c +++ b/lib/event/app.c @@ -67,9 +67,10 @@ struct spdk_app { }; static struct spdk_app g_spdk_app; -static struct spdk_event *g_app_start_event = NULL; +static spdk_event_fn g_start_fn = NULL; +static void *g_start_arg = NULL; static struct spdk_event *g_shutdown_event = NULL; -static int g_init_lcore; +static uint32_t g_init_lcore; static bool g_delay_subsystem_init = false; static bool g_shutdown_sig_received = false; static char *g_executable_name; @@ -348,7 +349,10 @@ static void spdk_app_start_application(void) { spdk_rpc_set_state(SPDK_RPC_RUNTIME); - spdk_event_call(g_app_start_event); + + assert(spdk_env_get_current_core() == g_init_lcore); + + g_start_fn(g_start_arg, NULL); } static void @@ -677,11 +681,13 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_event_fn start_fn, g_spdk_app.shm_id = opts->shm_id; g_spdk_app.shutdown_cb = opts->shutdown_cb; g_spdk_app.rc = 0; + g_init_lcore = spdk_env_get_current_core(); g_delay_subsystem_init = opts->delay_subsystem_init; + g_start_fn = start_fn; + g_start_arg = arg1; event = spdk_event_allocate(g_init_lcore, bootstrap_fn, NULL, NULL); - g_app_start_event = spdk_event_allocate(g_init_lcore, start_fn, arg1, NULL); spdk_event_call(event);