mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MEDIUM: h2: wake the processing task up after demuxing
After the changes to the connection layer in 1.9, some wake up calls need to be introduced to re-activate reading from the connection. One such place is at the end of h2_process_demux(), otherwise processing of input data stops after a few frames. No backport is needed.
This commit is contained in:
parent
ee23b2a1e3
commit
1ed87b77b4
@ -2137,10 +2137,8 @@ static void h2_process_demux(struct h2c *h2c)
|
|||||||
ret = h2c_send_rst_stream(h2c, h2s);
|
ret = h2c_send_rst_stream(h2c, h2s);
|
||||||
|
|
||||||
/* error or missing data condition met above ? */
|
/* error or missing data condition met above ? */
|
||||||
if (ret <= 0) {
|
if (ret <= 0)
|
||||||
h2s = NULL;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
if (h2c->st0 != H2_CS_FRAME_H) {
|
if (h2c->st0 != H2_CS_FRAME_H) {
|
||||||
b_del(&h2c->dbuf, h2c->dfl);
|
b_del(&h2c->dbuf, h2c->dfl);
|
||||||
@ -2163,7 +2161,9 @@ static void h2_process_demux(struct h2c *h2c)
|
|||||||
h2s->recv_wait = NULL;
|
h2s->recv_wait = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
|
if (h2_recv_allowed(h2c))
|
||||||
|
tasklet_wakeup(h2c->wait_event.task);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* process Tx frames from streams to be multiplexed. Returns > 0 if it reached
|
/* process Tx frames from streams to be multiplexed. Returns > 0 if it reached
|
||||||
|
Loading…
Reference in New Issue
Block a user