diff --git a/include/spdk/rpc.h b/include/spdk/rpc.h index 4f82f5f77..1dce7febb 100644 --- a/include/spdk/rpc.h +++ b/include/spdk/rpc.h @@ -38,7 +38,7 @@ #include "spdk/jsonrpc.h" -void spdk_rpc_initialize(void); +int spdk_rpc_initialize(void); int spdk_rpc_finish(void); void spdk_rpc_config_text(FILE *fp); diff --git a/lib/event/subsystems/rpc/rpc.c b/lib/event/subsystems/rpc/rpc.c index e6531354b..b6ab4ea6e 100644 --- a/lib/event/subsystems/rpc/rpc.c +++ b/lib/event/subsystems/rpc/rpc.c @@ -37,4 +37,21 @@ #include "spdk_internal/event.h" -SPDK_SUBSYSTEM_REGISTER(spdk_rpc, spdk_rpc_initialize, spdk_rpc_finish, spdk_rpc_config_text) +static void +spdk_rpc_subsystem_initialize(void) +{ + int rc; + + rc = spdk_rpc_initialize(); + + spdk_subsystem_init_next(rc); +} + +static int +spdk_rpc_subsystem_finish(void) +{ + return spdk_rpc_finish(); +} + +SPDK_SUBSYSTEM_REGISTER(spdk_rpc, spdk_rpc_subsystem_initialize, + spdk_rpc_subsystem_finish, spdk_rpc_config_text) diff --git a/lib/rpc/rpc.c b/lib/rpc/rpc.c index b9bb38c84..22a862ca6 100644 --- a/lib/rpc/rpc.c +++ b/lib/rpc/rpc.c @@ -225,7 +225,7 @@ spdk_rpc_setup(void *arg) RPC_SELECT_INTERVAL); } -void +int spdk_rpc_initialize(void) { /* @@ -236,7 +236,7 @@ spdk_rpc_initialize(void) */ spdk_poller_register(&g_rpc_poller, spdk_rpc_setup, NULL, spdk_env_get_current_core(), 0); - spdk_subsystem_init_next(0); + return 0; } int