MEDIUM: h2: always subscribe to receive if allowed.

Let the connection layer know we're always interested in getting more data,
so that we get scheduled as soon as data is available, instead of relying
on the wake() method.
This commit is contained in:
Olivier Houchard 2018-08-17 18:42:48 +02:00 committed by Willy Tarreau
parent d4dd22d0ab
commit a1411e62e4

View File

@ -2256,8 +2256,9 @@ static int h2_recv(struct h2c *h2c)
if (max)
conn->xprt->rcv_buf(conn, buf, max, 0);
if (!b_data(buf)) {
if (h2_recv_allowed(h2c))
conn->xprt->subscribe(conn, SUB_CAN_RECV, &h2c->wait_list);
if (!b_data(buf)) {
h2_release_buf(h2c, &h2c->dbuf);
return 0;
}