mirror of
https://github.com/emqx/neuron.git
synced 2026-10-21 16:55:53 +08:00
after the adapter is closed, close the manager
This commit is contained in:
@@ -482,10 +482,10 @@ static int adapter_response(neu_adapter_t *adapter, neu_reqresp_head_t *header,
|
||||
|
||||
nng_msg *msg = neu_msg_gen(header, data);
|
||||
|
||||
ret = nng_sendmsg(adapter->nng.sock, msg, NNG_FLAG_NONBLOCK);
|
||||
if (ret == NNG_EAGAIN) {
|
||||
ret = nng_sendmsg(adapter->nng.sock, msg, 0);
|
||||
}
|
||||
ret = nng_sendmsg(adapter->nng.sock, msg, 0);
|
||||
// ret = nng_sendmsg(adapter->nng.sock, msg, NNG_FLAG_NONBLOCK);
|
||||
// if (ret == NNG_EAGAIN) {
|
||||
//}
|
||||
if (ret != 0) {
|
||||
nlog_warn("sendmsg error: %d", ret);
|
||||
nng_msg_free(msg);
|
||||
@@ -726,6 +726,9 @@ int neu_adapter_uninit(neu_adapter_t *adapter)
|
||||
{
|
||||
int rv = 0;
|
||||
|
||||
nng_dialer_close(adapter->nng.dialer);
|
||||
nng_close(adapter->nng.sock);
|
||||
|
||||
if (adapter->plugin_info.module->type == NEU_NA_TYPE_DRIVER) {
|
||||
neu_adapter_driver_uninit((neu_adapter_driver_t *) adapter);
|
||||
}
|
||||
@@ -733,9 +736,6 @@ int neu_adapter_uninit(neu_adapter_t *adapter)
|
||||
|
||||
neu_event_del_io(adapter->events, adapter->nng_io);
|
||||
|
||||
nng_dialer_close(adapter->nng.dialer);
|
||||
nng_close(adapter->nng.sock);
|
||||
|
||||
nlog_info("Stop the adapter(%s)", adapter->name);
|
||||
return rv;
|
||||
}
|
||||
|
||||
+4
-3
@@ -89,13 +89,14 @@ void neu_manager_destroy(neu_manager_t *manager)
|
||||
stop_static_adapter(manager, DEFAULT_DASHBOARD_PLUGIN_NAME);
|
||||
stop_static_adapter(manager, DEFAULT_DUMMY_PLUGIN_NAME);
|
||||
|
||||
neu_subscribe_manager_destroy(manager->subscribe_manager);
|
||||
neu_node_manager_destroy(manager->node_manager);
|
||||
neu_plugin_manager_destroy(manager->plugin_manager);
|
||||
|
||||
nng_close(manager->socket);
|
||||
neu_event_del_io(manager->events, manager->loop);
|
||||
neu_event_close(manager->events);
|
||||
|
||||
neu_subscribe_manager_destroy(manager->subscribe_manager);
|
||||
neu_node_manager_destroy(manager->node_manager);
|
||||
neu_plugin_manager_destroy(manager->plugin_manager);
|
||||
nng_mtx_free(manager->mtx);
|
||||
free(manager);
|
||||
nlog_warn("manager exit");
|
||||
|
||||
Reference in New Issue
Block a user