From: Willy Tarreau Date: Fri, 21 Feb 2020 09:13:03 +0000 (+0100) Subject: MINOR: checks: do not call conn_xprt_stop_send() anymore X-Git-Tag: v2.2-dev3~46 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c9d0e1b20ec5e70089be1d526a75f7092b54a6e;p=thirdparty%2Fhaproxy.git MINOR: checks: do not call conn_xprt_stop_send() anymore While trying to address issue #253, Commit 5909380c ("BUG/MINOR: checks: stop polling for write when we have nothing left to send") made sure that we stop polling for writes when the buffer is empty. This was actually more a workaround than a bug fix because by doing so we may be stopping polling for an intermediary transport layer without acting on the check itself in case there's SSL or send-proxy in the chain for example, thus the approach is wrong. In practice due to the small size of check requests, this will not have any impact. At best, we ought to unsubscribe for sending, but that's already the case when we arrive in this function. But given that the root cause of the issue was addressed later in commits cc705a6b, c5940392 and ccf3f6d1, we can now safely revert this change. It was confirmed on the faulty config that this change doesn't have any effect anymore on the test. --- diff --git a/src/checks.c b/src/checks.c index 3a74996cf5..1c71ea618f 100644 --- a/src/checks.c +++ b/src/checks.c @@ -788,9 +788,6 @@ static void __event_srv_chk_w(struct conn_stream *cs) } } - if (!b_data(&check->bo)) - conn_xprt_stop_send(conn); - /* full request sent, we allow up to if nonzero for a response */ if (s->proxy->timeout.check) { t->expire = tick_add_ifset(now_ms, s->proxy->timeout.check);