]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: mux-h1: Don't switch the parser in busy mode if other side has done
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 16 Apr 2019 18:26:53 +0000 (20:26 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 17 Apr 2019 12:52:31 +0000 (14:52 +0200)
There is no reaon to switch the input parser in busy mode if all the output has
been processed.

This patch must be backported to 1.9.

src/mux_h1.c

index 7b172252456e439043d95678149d3cadc5fd831f..32da39980e094a861f99f19a88954dc883f6e79a 100644 (file)
@@ -1337,7 +1337,8 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, int flags)
                                break;
                }
                else if (h1m->state == H1_MSG_DONE) {
-                       h1c->flags |= H1C_F_IN_BUSY;
+                       if (h1s->req.state < H1_MSG_DONE || h1s->res.state < H1_MSG_DONE)
+                               h1c->flags |= H1C_F_IN_BUSY;
                        break;
                }
                else if (h1m->state == H1_MSG_TUNNEL) {