MEDIUM: task: call session analyzers if the task is woken by a message.

When a task used to receive a message from another one, its analysers
were not called if there was no I/O activity.
This commit is contained in:
Thierry FOURNIER 2014-11-24 14:49:56 +01:00 committed by Willy Tarreau
parent 9cf7c4b9df
commit 2e05a8c742

View File

@ -1939,7 +1939,8 @@ struct task *process_session(struct task *t)
if (((s->req->flags & ~rqf_last) & CF_MASK_ANALYSER) ||
((s->req->flags ^ rqf_last) & CF_MASK_STATIC) ||
s->si[0].state != rq_prod_last ||
s->si[1].state != rq_cons_last) {
s->si[1].state != rq_cons_last ||
s->task->state & TASK_WOKEN_MSG) {
unsigned int flags = s->req->flags;
if (s->req->prod->state >= SI_ST_EST) {
@ -2097,7 +2098,8 @@ struct task *process_session(struct task *t)
if (((s->rep->flags & ~rpf_last) & CF_MASK_ANALYSER) ||
(s->rep->flags ^ rpf_last) & CF_MASK_STATIC ||
s->si[0].state != rp_cons_last ||
s->si[1].state != rp_prod_last) {
s->si[1].state != rp_prod_last ||
s->task->state & TASK_WOKEN_MSG) {
unsigned int flags = s->rep->flags;
if ((s->rep->flags & CF_MASK_ANALYSER) &&