From: Willy Tarreau Date: Fri, 11 Dec 2020 10:09:29 +0000 (+0100) Subject: MINOR: checks: use cs_drain_and_close() instead of draining the connection X-Git-Tag: v2.4-dev3~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30bd4efb1b1f98925350b6a8cc43855959df7e1f;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/check.c b/src/check.c index edcaf327c8..c625b90437 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) {