From c32c43f9f2784526c4b54b1bf10b2ee6a1b4b814 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 25 Jun 2020 16:11:46 +0200 Subject: [PATCH] for tcp use_free_buffer write straight away on reuse connection, if possible --- services/outside_network.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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)) { -- 2.47.3