mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02:00
MEDIUM: h2: wake the connection up for send on pending streams
If some streams were blocked on flow control and the connection's window was recently opened, or if some streams are waiting while no block flag remains, we immediately want to try to send again. This can happen if a recv() for a stream wants to send after the send() loop has already been processed.
This commit is contained in:
parent
29a9824144
commit
5160683fc7
@ -739,8 +739,11 @@ static int h2_wake(struct connection *conn)
|
||||
}
|
||||
|
||||
/* adjust output polling */
|
||||
if ((h2c->st0 == H2_CS_ERROR || h2c->mbuf->o) &&
|
||||
!(conn->flags & CO_FL_SOCK_WR_SH)) {
|
||||
if (!(conn->flags & CO_FL_SOCK_WR_SH) &&
|
||||
(h2c->st0 == H2_CS_ERROR ||
|
||||
h2c->mbuf->o ||
|
||||
(h2c->mws > 0 && !LIST_ISEMPTY(&h2c->fctl_list)) ||
|
||||
(!(h2c->flags & H2_CF_MUX_BLOCK_ANY) && !LIST_ISEMPTY(&h2c->send_list)))) {
|
||||
/* FIXME: we should (re-)arm a send timeout here */
|
||||
__conn_xprt_want_send(conn);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user