mirror of
https://github.com/haproxy/haproxy.git
synced 2026-03-03 13:50:26 -05:00
BUG/MEDIUM: mux-h1: Disable splicing for the conn-stream if read0 is received
The CS_FL_MAY_SPLICE flag must be unset for the conn-stream if a read0 is received while reading on the kernel pipe. It is mandatory when some data was also received. Otherwise, this flag prevent the call to the h1 rcv_buf() callback. Thus the read0 will never be handled by the h1 multiplexer leading to a freeze of the session until a timeout is reached. This patch must be backported to 2.1 and 2.0.
This commit is contained in:
parent
7b7016bf6e
commit
a131a8fe93
1 changed files with 2 additions and 1 deletions
|
|
@ -2805,7 +2805,8 @@ static int h1_rcv_pipe(struct conn_stream *cs, struct pipe *pipe, unsigned int c
|
|||
TRACE_STATE("read0 on connection", H1_EV_STRM_RECV, cs->conn, h1s);
|
||||
}
|
||||
|
||||
if ((h1m->state != H1_MSG_TUNNEL && h1m->state != H1_MSG_DATA) ||
|
||||
if ((h1s->flags & H1S_F_REOS) ||
|
||||
(h1m->state != H1_MSG_TUNNEL && h1m->state != H1_MSG_DATA) ||
|
||||
(h1m->state == H1_MSG_DATA && !h1m->curr_len))
|
||||
cs->flags &= ~CS_FL_MAY_SPLICE;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue