mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-15 07:54:33 +00:00
MINOR: mux-h1: Subscribe to send in h1_snd_buf() when not all data have been sent
After a call to snd_buf, if some data remain in the channel's buffer, this means the system buffers are full or we are unable to fully consume an HTX block for any reason. In the last case, we need to wakeup the stream to process more data as soon as possible. We do it subscribing to send at the end of h1_snd_buf().
This commit is contained in:
parent
1727648e10
commit
f96c322664
@ -1807,6 +1807,12 @@ static size_t h1_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t coun
|
||||
if (!b_data(buf))
|
||||
ret = count;
|
||||
}
|
||||
|
||||
if (count && ret != count) {
|
||||
if (!(h1c->wait_event.wait_reason & SUB_CAN_SEND))
|
||||
cs->conn->xprt->subscribe(cs->conn, SUB_CAN_SEND, &h1c->wait_event);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user