From: Christopher Faulet Date: Tue, 1 Aug 2023 06:25:01 +0000 (+0200) Subject: MEDIUM: stream: Reset response analyse expiration date if there is no analyzer X-Git-Tag: v2.9-dev3~76 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dabeb5cbd51091dd065e8615e2ad0fb07c6382a4;p=thirdparty%2Fhaproxy.git MEDIUM: stream: Reset response analyse expiration date if there is no analyzer When the stream expiration date is computed at the end of process_stream(), if there is no longer analyzer on the request channel, its analyse expiration date is reset. The same is now performed on the response channel. This way, we are sure to not inherit of an orphan expired date. This should prevent spinning loop on process_stream(). --- diff --git a/src/stream.c b/src/stream.c index ef35b6e3c7..d3d029a5e7 100644 --- a/src/stream.c +++ b/src/stream.c @@ -2565,6 +2565,8 @@ struct task *process_stream(struct task *t, void *context, unsigned int state) if (!req->analysers) req->analyse_exp = TICK_ETERNITY; + if (!res->analysers) + res->analyse_exp = TICK_ETERNITY; if ((sess->fe->options & PR_O_CONTSTATS) && (s->flags & SF_BE_ASSIGNED) && (!tick_isset(req->analyse_exp) || tick_is_expired(req->analyse_exp, now_ms)))