diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index c3809bc6..cb26c098 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -520,7 +520,8 @@ static const adapter_callbacks_t callback_funs = { }; // clang-format on -neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info) +neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info, + neu_manager_t * manager) { neu_adapter_t *adapter; @@ -545,6 +546,7 @@ neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info) adapter->new_req_id = 1; adapter->plugin_id = info->plugin_id; adapter->plugin_kind = info->plugin_kind; + adapter->manager = manager; adapter->plugin_lib_name = strdup(info->plugin_lib_name); if (adapter->name == NULL || adapter->plugin_lib_name == NULL) { @@ -626,7 +628,6 @@ int neu_adapter_start(neu_adapter_t *adapter, neu_manager_t *manager) intf_funs->init(adapter->plugin); } - adapter->manager = manager; nng_thread_create(&adapter->thrd, adapter_loop, adapter); return rv; } diff --git a/src/adapter/adapter_internal.h b/src/adapter/adapter_internal.h index b4358a5b..0a898c8d 100644 --- a/src/adapter/adapter_internal.h +++ b/src/adapter/adapter_internal.h @@ -46,7 +46,8 @@ typedef struct neu_adapter_info { const char * plugin_lib_name; } neu_adapter_info_t; -neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info); +neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info, + neu_manager_t * manager); void neu_adapter_destroy(neu_adapter_t *adapter); int neu_adapter_start(neu_adapter_t *adapter, neu_manager_t *manager); int neu_adapter_stop(neu_adapter_t *adapter, neu_manager_t *manager); diff --git a/src/core/neu_manager.c b/src/core/neu_manager.c index 082a4697..82e0f3c5 100644 --- a/src/core/neu_manager.c +++ b/src/core/neu_manager.c @@ -491,7 +491,7 @@ static adapter_id_t manager_reg_adapter(neu_manager_t * manager, adapter_info.plugin_id = plugin_reg_info.plugin_id; adapter_info.plugin_kind = plugin_reg_info.plugin_kind; adapter_info.plugin_lib_name = plugin_reg_info.plugin_lib_name; - adapter = neu_adapter_create(&adapter_info); + adapter = neu_adapter_create(&adapter_info, manager); if (adapter == NULL) { return 0; }