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().
This commit is contained in:
Christopher Faulet 2023-08-01 08:25:01 +02:00
parent f1bf0b1a6b
commit dabeb5cbd5

View file

@ -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)))