From: W.C.A. Wijngaards Date: Thu, 25 Jun 2020 14:11:46 +0000 (+0200) Subject: for tcp use_free_buffer write straight away on reuse connection, if possible X-Git-Tag: release-1.13.0rc1~5^2~58 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c32c43f9f2784526c4b54b1bf10b2ee6a1b4b814;p=thirdparty%2Funbound.git for tcp use_free_buffer write straight away on reuse connection, if possible --- diff --git a/services/outside_network.c b/services/outside_network.c index f76b0ed3a..a010e3323 100644 --- a/services/outside_network.c +++ b/services/outside_network.c @@ -626,12 +626,18 @@ use_free_buffer(struct outside_network* outnet) if(reuse) { log_reuse_tcp(5, "use free buffer for waiting tcp: " "found reuse", reuse); + comm_timer_disable(w->timer); + w->next_waiting = (void*)reuse->pending; + reuse_tree_by_id_insert(reuse, w); if(reuse->pending->query) { /* on the write wait list */ - comm_timer_disable(w->timer); - w->next_waiting = (void*)reuse->pending; - reuse_tree_by_id_insert(reuse, w); reuse_write_wait_push_back(reuse, w); + } else { + /* write straight away */ + reuse->pending->query = w; + outnet_tcp_take_query_setup( + reuse->pending->c->fd, reuse->pending, + w); } } else { if(!outnet_tcp_take_into_use(w)) {