diff --git a/src/transport_layer/node_conn_direct.c b/src/transport_layer/node_conn_direct.c index bf377813..aa0a8a99 100644 --- a/src/transport_layer/node_conn_direct.c +++ b/src/transport_layer/node_conn_direct.c @@ -315,6 +315,8 @@ static void ncd_up_cb(struct ETCP_CONN* conn, int event, void* arg) { (void)even static void ncd_deferred_close(void* arg) { struct ncd_entry* entry = (struct ncd_entry*)arg; struct ETCP_CONN* conn = entry->conn; + if (entry->connect_timer) { uasync_cancel_timeout(entry->ua, entry->connect_timer); entry->connect_timer = NULL; } + if (entry->fin_wait_timer) { uasync_cancel_timeout(entry->ua, entry->fin_wait_timer); entry->fin_wait_timer = NULL; } if (conn) { etcp_conn_remove_cbk(conn, ncd_init_cb, entry); etcp_conn_remove_cbk(conn, ncd_up_cb, entry);