mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-29 06:40:59 +01:00
MINOR: mux-h1: Make sure to return 1 in h1_recv() when needed
In h1_recv(), return 1 if we have data available, or if h1_recv_allowed() failed, to be sure h1_process() is called. Also don't subscribe if our buffer is full.
This commit is contained in:
parent
37e3607e37
commit
c386a8851e
@ -1467,7 +1467,7 @@ static int h1_recv(struct h1c *h1c)
|
|||||||
int rcvd = 0;
|
int rcvd = 0;
|
||||||
|
|
||||||
if (h1c->wait_event.wait_reason & SUB_CAN_RECV)
|
if (h1c->wait_event.wait_reason & SUB_CAN_RECV)
|
||||||
return 0;
|
return (b_data(&h1c->ibuf));
|
||||||
|
|
||||||
if (!h1_recv_allowed(h1c)) {
|
if (!h1_recv_allowed(h1c)) {
|
||||||
rcvd = 1;
|
rcvd = 1;
|
||||||
@ -1498,7 +1498,7 @@ static int h1_recv(struct h1c *h1c)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (h1_recv_allowed(h1c))
|
if (h1_recv_allowed(h1c) && (b_data(&h1c->ibuf) < b_size(&h1c->ibuf)))
|
||||||
conn->xprt->subscribe(conn, SUB_CAN_RECV, &h1c->wait_event);
|
conn->xprt->subscribe(conn, SUB_CAN_RECV, &h1c->wait_event);
|
||||||
else
|
else
|
||||||
rcvd = 1;
|
rcvd = 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user