From 3ca9926c4824bb800691c12530e06c445a4770f5 Mon Sep 17 00:00:00 2001 From: evgeny Date: Fri, 23 Oct 2026 10:42:43 +0200 Subject: [PATCH] Release synthetic path queues in the session-timeout fixture --- tests/test_etcp_session.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_etcp_session.c b/tests/test_etcp_session.c index b237a9cf..5f45862e 100644 --- a/tests/test_etcp_session.c +++ b/tests/test_etcp_session.c @@ -388,13 +388,17 @@ int main(void) { blackhole=1; uint64_t started = ep[0].c->session_started; CHECK(etcp_conn_ref_take(ep[0].c)==0); + for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) + if (ep[i].links[j].attempts) etcp_tx_link_destroy(&ep[i].links[j]); ep[0].c->links=NULL; // timeout closes a real connection, links belong to fixture while (ep[0].c->state!=2 && get_time_tb() < started + 110000) pump(); CHECK(ep[0].c->state == 2 && get_time_tb() - started >= 100000); CHECK(!ep[0].c->session_timer && ep[0].c->delete_complete); etcp_conn_ref_free(ep[0].c); ep[0].c=NULL; ep[1].c->links=NULL; etcp_connection_close(ep[1].c); uasync_poll(ua,0); - for (int i=0;i<2;i++) { queue_free(ep[i].inst.connections); memory_pool_destroy(ep[i].inst.pkt_pool); } + for (int i=0;i<2;i++) { + queue_free(ep[i].inst.connections); memory_pool_destroy(ep[i].inst.pkt_pool); memory_pool_destroy(ep[i].inst.ack_pool); + } uasync_poll(ua,0); CHECK(ua->timer_alloc_count==ua->timer_free_count); uasync_destroy(ua,0); } else { converge();