From 82feaaf0423919c5af61b59f6f3234bc0423a791 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 4 Oct 2017 11:38:08 +0200 Subject: [PATCH] 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. --- src/checks.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/checks.c b/src/checks.c index 31aa6081a..ad1f56883 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))