From: W.C.A. Wijngaards Date: Wed, 22 Jul 2020 08:30:50 +0000 (+0200) Subject: stream reuse, free up elements that are connected in outside network delete. X-Git-Tag: release-1.13.0rc1~5^2~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2d20edb39f6d23c555ce1e8c2f66bb5b403f0764;p=thirdparty%2Funbound.git stream reuse, free up elements that are connected in outside network delete. --- diff --git a/services/outside_network.c b/services/outside_network.c index 425c0839a..9c9ce57fa 100644 --- a/services/outside_network.c +++ b/services/outside_network.c @@ -1509,10 +1509,18 @@ outside_network_delete(struct outside_network* outnet) size_t i; for(i=0; inum_tcp; i++) if(outnet->tcp_conns[i]) { + if(!outnet->tcp_conns[i]->query-> + on_tcp_waiting_list) { + /* delete waiting_tcp elements that + * the tcp conn is working on */ + struct pending_tcp* pend = + (struct pending_tcp*)outnet-> + tcp_conns[i]->query-> + next_waiting; + decommission_pending_tcp(outnet, pend); + } comm_point_delete(outnet->tcp_conns[i]->c); waiting_tcp_delete(outnet->tcp_conns[i]->query); - /* TODO: loop over tcpwrite wait list and - * delete waiting_tcp_delete them */ free(outnet->tcp_conns[i]); } free(outnet->tcp_conns);