]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: stconn: take SE_FL_APPLET_NEED_CONN out of the RXBLK_ANY flags
authorWilly Tarreau <w@1wt.eu>
Tue, 24 May 2022 14:56:55 +0000 (16:56 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 27 May 2022 17:33:35 +0000 (19:33 +0200)
commitb73262fc85d249de90fa8960e5fe7df31b5fe38e
tree489bf39f77b61a8fbe7be12306da0645a22dbdd5
parentb23edc8b8d049f72faef39cd734152d51b7f9448
MEDIUM: stconn: take SE_FL_APPLET_NEED_CONN out of the RXBLK_ANY flags

This makes SE_FL_APPLET_NEED_CONN autonomous, in that we check for it
everywhere we have a relevant cs_rx_blocked(), so that the flag doesn't
need anymore to be covered by cs_rx_blocked(). Indeed, this flag doesn't
really translate a receive blocking condition but rather a refusal to
wake up an applet that is waiting for a connection to finish to setup.

This also ensures we will not risk to set it back on a new endpoint
after cs_reset_endp() via SE_FL_APP_MASK, because the flag being
specific to the endpoint only and not to the connector, we don't
want to preserve it when replacing the endpoint.

It's possible that cs_chk_rcv() could later be further simplified if
we can demonstrate that the two tests in it can be merged.
include/haproxy/conn_stream-t.h
include/haproxy/cs_utils.h
src/conn_stream.c
src/stream.c