summaryrefslogtreecommitdiffstats
path: root/src/mux_h1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mux_h1.c')
-rw-r--r--src/mux_h1.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 455ebeb..6593661 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -4430,8 +4430,10 @@ static size_t h1_nego_ff(struct stconn *sc, struct buffer *input, size_t count,
}
else {
BUG_ON(h1m->state != H1_MSG_CHUNK_CRLF && h1m->state != H1_MSG_CHUNK_SIZE);
- if (!h1_make_chunk(h1s, h1m, count))
+ if (!h1_make_chunk(h1s, h1m, count)) {
+ h1s->sd->iobuf.flags |= IOBUF_FL_FF_BLOCKED;
goto out;
+ }
h1m->curr_len = count;
}
}
@@ -4458,6 +4460,7 @@ static size_t h1_nego_ff(struct stconn *sc, struct buffer *input, size_t count,
if (!h1_get_buf(h1c, &h1c->obuf)) {
h1c->flags |= H1C_F_OUT_ALLOC;
+ h1s->sd->iobuf.flags |= IOBUF_FL_FF_BLOCKED;
TRACE_STATE("waiting for opposite h1c obuf allocation", H1_EV_STRM_SEND|H1_EV_H1S_BLK, h1c->conn, h1s);
goto out;
}