mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
BUG/MEDIUM: mux-h1: Don't set the flag CS_FL_RCV_MORE when nothing was parsed
When we start to parse a new message, if all headers have not been received, nothing is copied in the channel's buffer. In this situation, we must not set the flag CS_FL_RCV_MORE on the conn-stream. If we do so, the connection freezes because there is no data to send that can reenable the reads
This commit is contained in:
parent
d44ad5b8bd
commit
9c38840055
@ -1112,8 +1112,10 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, int flags)
|
|||||||
tasklet_wakeup(h1c->wait_event.task);
|
tasklet_wakeup(h1c->wait_event.task);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b_data(&h1c->ibuf))
|
if (b_data(&h1c->ibuf)) {
|
||||||
h1s->cs->flags |= CS_FL_RCV_MORE;
|
if (!htx_is_empty(htx))
|
||||||
|
h1s->cs->flags |= CS_FL_RCV_MORE;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
h1_release_buf(h1c, &h1c->ibuf);
|
h1_release_buf(h1c, &h1c->ibuf);
|
||||||
h1_sync_messages(h1c);
|
h1_sync_messages(h1c);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user