From: Willy Tarreau Date: Wed, 4 Oct 2017 09:38:08 +0000 (+0200) Subject: BUG/MINOR: tcp-check: don't quit with pending data in the send buffer X-Git-Tag: v1.8-dev3~66 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82feaaf0423919c5af61b59f6f3234bc0423a791;p=thirdparty%2Fhaproxy.git BUG/MINOR: tcp-check: don't quit with pending data in the send buffer In the rare case where the "tcp-check send" directive is the last one in the list, it leaves the loop without sending the data. Fortunately, the polling is still enabled on output, resulting in the connection handler calling back to send what remains, but this is ugly and not very reliable. This may be backported to 1.7 and 1.6. --- diff --git a/src/checks.c b/src/checks.c index 31aa6081a3..ad1f568834 100644 --- a/src/checks.c +++ b/src/checks.c @@ -2786,8 +2786,6 @@ static void tcpcheck_main(struct connection *conn) check->current_step->action == TCPCHK_ACT_COMMENT) check->current_step = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list); - if (&check->current_step->list == head) - break; } /* end 'send' */ else if (check->current_step->action == TCPCHK_ACT_EXPECT) { if (unlikely(check->result == CHK_RES_FAILED))