From: Willy Tarreau Date: Mon, 9 Oct 2017 14:47:04 +0000 (+0200) Subject: MINOR: h2: also terminate the connection on shutr X-Git-Tag: v1.8-rc1~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26bd761f0175737b33d76d8a3a4f17f070bfc9b8;p=thirdparty%2Fhaproxy.git MINOR: h2: also terminate the connection on shutr It happens that an H2 mux is totally unusable once the client has shut, so we must consider this situation equivalent to the connection error, and let the possible streams drain their data if needed then stop. --- diff --git a/src/mux_h2.c b/src/mux_h2.c index 5457bc2c7e..d69229f796 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -703,7 +703,8 @@ static int h2_wake(struct connection *conn) { struct h2c *h2c = conn->mux_ctx; - if (conn->flags & CO_FL_ERROR || h2c->st0 == H2_CS_ERROR2) { + if (conn->flags & CO_FL_ERROR || conn_xprt_read0_pending(conn) || + h2c->st0 == H2_CS_ERROR2) { h2_wake_all_streams(h2c); if (eb_is_empty(&h2c->streams_by_id)) {