BUG/MEDIUM: mux-h2: stop sending HTX once the mux is blocked

If we're blocking on mux full, mux busy or whatever, we must get out of
the loop. In legacy mode this problem doesn't exist as we can normally
return 0 but here it's not a sufficient condition to stop sending, so
we must inspect the blocking flags as well.

No backport is needed.
This commit is contained in:
Willy Tarreau 2018-12-04 15:23:57 +01:00
parent 0c22fa7d6f
commit b08d91fbc5

View File

@ -4602,7 +4602,7 @@ static size_t h2_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t coun
}
if (htx) {
while (count && !htx_is_empty(htx)) {
while (!(h2s->flags & H2_SF_BLK_ANY) && count && !htx_is_empty(htx)) {
idx = htx_get_head(htx);
blk = htx_get_blk(htx, idx);
btype = htx_get_blk_type(blk);