]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: filters: Remove backend filters attached to a stream only for HTTP streams
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 31 Oct 2016 10:22:37 +0000 (11:22 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 9 Nov 2016 21:50:55 +0000 (22:50 +0100)
Now, for TCP streams, backend filters are released when the stream is
destroyed. But, for HTTP streams, these filters are released when the
transaction analyze ends, in flt_end_analyze callback.

src/filters.c

index a1b36ba448d9bdb4f71b6437e312a0cdab7c2379..8c3485e10c7c5ce3780ed713f859d9dc160d9e8f 100644 (file)
@@ -802,10 +802,11 @@ end:
                if (s->txn && (s->txn->flags & TX_WAIT_NEXT_RQ) && !channel_input_closed(&s->req)) {
                        s->req.analysers = strm_li(s) ? strm_li(s)->analysers : 0;
                        s->res.analysers = 0;
+
+                       /* Remove backend filters from the list */
+                       flt_stream_release(s, 1);
                }
 
-               /* Remove backend filters from the list */
-               flt_stream_release(s, 1);
        }
        else if (ret) {
                /* Analyzer ends only for one channel. So wake up the stream to