diff --git a/dap_server.c b/dap_server.c index 3672928a101afcd97c9ed4cac8bd1441867f1423..9f69405574a18235eae52778c866fdeba24b71c4 100644 --- a/dap_server.c +++ b/dap_server.c @@ -236,10 +236,9 @@ static void read_write_cb (struct ev_loop* loop, struct ev_io* watcher, int reve log_it(L_INFO, "Close Socket %d", watcher->fd); atomic_fetch_sub(&thread_inform[DAP_EV_DATA(watcher)->thread_number].count_open_connections, 1); - ev_io_stop(listener_clients_loops[DAP_EV_DATA(watcher)->thread_number], watcher); dap_client_remove(dap_cur, _current_run_server); - free(watcher); + free(watcher->data); free(watcher); return; } }