]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: checks: check the conn_stream's readiness and not the connection
authorWilly Tarreau <w@1wt.eu>
Tue, 3 Apr 2018 17:31:38 +0000 (19:31 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 3 Apr 2018 17:31:38 +0000 (19:31 +0200)
commit2500fc2c3443f69bc05de53d0516da373d2f0cc1
treea1e54aead7eacb20858b4bbee8fa277438a2a031
parentb2e290acb68fd5b7387ba74d0a601934e3a6f5a0
BUG/MINOR: checks: check the conn_stream's readiness and not the connection

Since commit 9aaf778 ("MAJOR: connection : Split struct connection into
struct connection and struct conn_stream."), the checks use a conn_stream
and not directly the connection anymore. However wake_srv_chk() still used
to verify the connection's readiness instead of the conn_stream's. Due to
the existence of a mux, the connection is always waiting for receiving
something, and doesn't reflect the changes made in event_srv_chk_{r,w}(),
causing the connection appear as not ready yet, and the check to be
validated only after its timeout. The difference is only visible when
sending pure TCP checks, and simply adding a "tcp-check connect" line
is enough to work around it.

This fix must be backported to 1.8.
src/checks.c