From 30bd4efb1b1f98925350b6a8cc43855959df7e1f Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 11 Dec 2020 11:09:29 +0100 Subject: [PATCH] MINOR: checks: use cs_drain_and_close() instead of draining the connection As explained in previous commit, the situation is absurd as we try to cleanly drain pending data before impolitely shutting down, and it could be counter productive on real muxes. Let's use cs_drain_and_close() instead. --- src/check.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/check.c b/src/check.c index edcaf32..c625b90 100644 --- a/src/check.c +++ b/src/check.c @@ -797,8 +797,7 @@ static int wake_srv_chk(struct conn_stream *cs) /* Check complete or aborted. If connection not yet closed do it * now and wake the check task up to be sure the result is * handled ASAP. */ - conn_sock_drain(conn); - cs_close(cs); + cs_drain_and_close(cs); ret = -1; /* We may have been scheduled to run, and the * I/O handler expects to have a cs, so remove @@ -899,8 +898,7 @@ static struct task *process_chk_conn(struct task *t, void *context, unsigned sho * as a failed response coupled with "observe layer7" caused the * server state to be suddenly changed. */ - conn_sock_drain(conn); - cs_close(cs); + cs_drain_and_close(cs); } if (cs) { -- 1.7.10.4