From ff0e27c75cbb8afc8fbc085bae8f1e923b0e76e2 Mon Sep 17 00:00:00 2001 From: jeka Date: Sat, 21 Mar 2026 19:25:09 +0300 Subject: [PATCH] drain ack_q --- src/etcp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/etcp.c b/src/etcp.c index 5a454063..5e4345ae 100644 --- a/src/etcp.c +++ b/src/etcp.c @@ -191,6 +191,7 @@ void etcp_connection_close(struct ETCP_CONN* etcp) { drain_and_free_queue(&etcp->input_send_q); drain_and_free_queue(&etcp->input_wait_ack); drain_and_free_queue(&etcp->recv_q); + drain_and_free_queue(&etcp->ack_q); // Drain and free ack_q (contains ACK_PACKET from ack_pool - special handling) if (etcp->ack_q) { @@ -265,6 +266,7 @@ void etcp_conn_reset(struct ETCP_CONN* etcp) { clear_queue(etcp->input_send_q); clear_queue(etcp->input_wait_ack); clear_queue(etcp->recv_q); + clear_queue(etcp->ack_q); // Reset timers (just clear the pointers - timers will expire naturally) etcp->retrans_timer = NULL;