diff --git a/plugins/modbus/modbus_req.c b/plugins/modbus/modbus_req.c index 52399eb7..2d900c6d 100644 --- a/plugins/modbus/modbus_req.c +++ b/plugins/modbus/modbus_req.c @@ -159,6 +159,7 @@ int modbus_group_timer(neu_plugin_t *plugin, neu_plugin_group_t *group, modbus_value_handle(plugin, gd->cmd_sort->cmd[i].slave_id, 0, NULL, NEU_ERR_PLUGIN_DISCONNECTED); rtt = NEU_METRIC_LAST_RTT_MS_MAX; + neu_conn_disconnect(plugin->conn); } if (plugin->interval > 0) { struct timespec t1 = { .tv_sec = plugin->interval / 1000, diff --git a/src/event/event_linux.c b/src/event/event_linux.c index 43aa62c4..79eeff37 100644 --- a/src/event/event_linux.c +++ b/src/event/event_linux.c @@ -89,10 +89,6 @@ static void *event_loop(void *arg) continue; } - if (ret == -1) { - continue; - } - if (ret == -1 || events->stop) { zlog_warn(neuron, "event loop exit, errno: %s(%d), stop: %d", strerror(errno), errno, events->stop);