]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h1: Don't skip the TCP splicing when there is no more data to read
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 29 May 2019 12:35:24 +0000 (14:35 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 29 May 2019 13:32:14 +0000 (15:32 +0200)
commit1146f975a9f239470fde5155ee68e85898fb9342
tree8dd8d29cfc6ea74a716a3fbf828c7a7eded07f8a
parent1e928c074b68fd2b065f83896ddadcafc0a8cbed
BUG/MEDIUM: mux-h1: Don't skip the TCP splicing when there is no more data to read

When there is no more data to read (h1m->curr_len == 0 in the state
H1_MSG_DATA), we still call xprt->rcv_pipe() callback. It is important to update
connection's flags. Especially to remove the flag CO_FL_WAIT_ROOM. Otherwise,
the pipe remains marked as full, preventing the stream-interface to fallback on
rcv_buf(). So the connection may be freezed because no more data is received and
the mux H1 remains blocked in the state H1_MSG_DATA.

This patch must be backported to 1.9.
src/mux_h1.c