]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: checks/mux: always enable send-polling after connecting
authorWilly Tarreau <w@1wt.eu>
Thu, 2 Nov 2017 14:45:00 +0000 (15:45 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 2 Nov 2017 14:53:04 +0000 (15:53 +0100)
commit16257f648ffb49f639bb17956445acf934b992a7
tree7496f327fcbc8deccd8bbc315c1c02e9c10817e4
parentf13ef96e70fc6365fa7bbc078df2393a70bfb2d2
BUG/MEDIUM: checks/mux: always enable send-polling after connecting

Before introducing the mux layer, tcp_connect() would poll for sending
to detect the connection establishment. It happens that the health
checks have apparently never explicitly enabled this polling and have
been relying on this implicit one.

Now that there's the mux layer, the conn_stream needs to be enabled
for polling as well and since it's not done in the checks, it's never
done and the check's request doesn't leave the machine, as can be
noticed with http checks.

The solution simply consists in going back to the well-known case
where we enable polling after connecting using cs_want_send() if we
have anything but just a plain connect(). The regular data path is
not affected because the stream interface code automatically computes
the polling needs based on buffer contents.
src/checks.c