From 36e6a41bc8fe13d76f5ea6016189d44d1614f6c9 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 28 Aug 2008 11:07:58 +0200 Subject: [PATCH] [MINOR] only call flow analysers when their read side is connected. It's useless to call flow analysers when their read side has not seen a connection yet. --- src/proto_http.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index d28506d42..e8bd63142 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -762,23 +762,23 @@ void process_session(struct task *t, int *next) } if ((rqf_req ^ s->req->flags) & BF_MASK_ANALYSER) { - resync = 1; /* the analysers must block it themselves */ - s->req->flags |= BF_MAY_FORWARD; - if (s->req->analysers) { - process_request(s); + if (s->req->prod->state >= SI_ST_EST) { + resync = 1; + s->req->flags |= BF_MAY_FORWARD; + if (s->req->analysers) + process_request(s); } rqf_req = s->req->flags; } if ((rpf_rep ^ s->rep->flags) & BF_MASK_ANALYSER) { - resync = 1; /* the analysers must block it themselves */ - if (s->req->cons->state >= SI_ST_EST) + if (s->rep->prod->state >= SI_ST_EST) { + resync = 1; s->rep->flags |= BF_MAY_FORWARD; - - if (s->rep->analysers) { - process_response(s); + if (s->rep->analysers) + process_response(s); } rpf_rep = s->rep->flags; }