]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: stream-int: always consider all CS errors on the send side
authorWilly Tarreau <w@1wt.eu>
Wed, 19 Dec 2018 16:17:10 +0000 (17:17 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 19 Dec 2018 16:23:26 +0000 (17:23 +0100)
commitbddf7fc4179896bb60c35b28b9cbd41599889f2a
tree1ce87b786e82e373d2daab7c16db36183634bde3
parent9117780bfd7be8947edb60add321e6e41a8bc1d4
MEDIUM: stream-int: always consider all CS errors on the send side

We still have an issue with asynchronous errors, which is that while
they don't truncate reads anymore, they might be missed during a
send() attempt. This can happen for example when processing a request
followed by undesired data for which the stream doesn't try to receive,
while the send side experiences an error (transfer aborted by the client).
In this case we definitely want all send() attempts to fail as soon as
the error was reported, even if it's only pending. This way we leave an
opportunity to the stream interface to try to receive the last data
pending in the buffer but it cannot send anymore and knows that there
is an error when trying to do so.
src/stream_interface.c