BUG/MINOR: filters: Don't force the stream's wakeup when we wait in flt_end_analyze

In flt_end_analyze, we wait that the anlayze is finished for both the request
and the response. In this case, because of a task_wakeup, some streams can
consume too much CPU to do nothing. So now, this is the filter's responsibility
to know if this wakeup is needed.

This fix should be backported in 1.7.
This commit is contained in:
Christopher Faulet 2017-03-30 11:13:22 +02:00 committed by Willy Tarreau
parent 69744d92a3
commit 2b553de595

View File

@ -861,12 +861,7 @@ flt_end_analyze(struct stream *s, struct channel *chn, unsigned int an_bit)
/* Remove backend filters from the list */ /* Remove backend filters from the list */
flt_stream_release(s, 1); flt_stream_release(s, 1);
} }
else {
/* This analyzer ends only for one channel. So wake up the
* stream to be sure to process it for the other side as soon as
* possible. */
task_wakeup(s->task, TASK_WOKEN_MSG);
}
return ret; return ret;
} }