]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: h1: Don't try to subscribe if we had a connection error.
authorOlivier Houchard <ohouchard@haproxy.com>
Tue, 11 Jun 2019 14:36:33 +0000 (16:36 +0200)
committerOlivier Houchard <cognet@ci0.org>
Tue, 11 Jun 2019 14:41:24 +0000 (16:41 +0200)
If the CO_FL_ERROR flag is set, and we weren't connected yet, don't attempt
to subscribe, as the underlying xprt may already have been destroyed.

src/mux_h1.c

index c9c8f84cafc8196b55160c146dfce7c01de627a3..ae9e8fd6fe4b8368702da0311e5aecaa642326aa 100644 (file)
@@ -1794,7 +1794,7 @@ static int h1_recv(struct h1c *h1c)
        if (h1c->wait_event.events & SUB_RETRY_RECV)
                return (b_data(&h1c->ibuf));
 
-       if (h1c->flags & H1C_F_CS_WAIT_CONN) {
+       if (!(conn->flags & CO_FL_ERROR) && h1c->flags & H1C_F_CS_WAIT_CONN) {
                conn->xprt->subscribe(conn, conn->xprt_ctx, SUB_RETRY_RECV, &h1c->wait_event);
                return 0;
        }