mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-06 23:32:34 -04:00
MEDIUM: mux-h1: Handle MUX_SUBS_RECV flag in h1_ctl() and susbscribe for reads
The H1 mux now handle MUX_SUBS_RECV flag in h1_ctl(). If it is not already subscribed for reads, it does so. This patch will be mandatory to properly handle abortonclose option.
This commit is contained in:
parent
e5cffa8ace
commit
450ff71c95
1 changed files with 5 additions and 1 deletions
|
|
@ -4805,7 +4805,7 @@ static int h1_resume_fastfwd(struct stconn *sc, unsigned int flags)
|
|||
|
||||
static int h1_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
|
||||
{
|
||||
const struct h1c *h1c = conn->ctx;
|
||||
struct h1c *h1c = conn->ctx;
|
||||
int ret = 0;
|
||||
|
||||
switch (mux_ctl) {
|
||||
|
|
@ -4822,6 +4822,10 @@ static int h1_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *outp
|
|||
((h1c->errcode >= 400 && h1c->errcode <= 499) ? MUX_ES_INVALID_ERR :
|
||||
MUX_ES_SUCCESS))));
|
||||
return ret;
|
||||
case MUX_SUBS_RECV:
|
||||
if (!(h1c->wait_event.events & SUB_RETRY_RECV))
|
||||
h1c->conn->xprt->subscribe(h1c->conn, h1c->conn->xprt_ctx, SUB_RETRY_RECV, &h1c->wait_event);
|
||||
return 0;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue