From: Christopher Faulet Date: Thu, 30 Mar 2017 09:13:22 +0000 (+0200) Subject: BUG/MINOR: filters: Don't force the stream's wakeup when we wait in flt_end_analyze X-Git-Tag: v1.8-dev1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b553de5;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/filters.c b/src/filters.c index 24e1d533b2..68bf7ee527 100644 --- a/src/filters.c +++ b/src/filters.c @@ -861,12 +861,7 @@ flt_end_analyze(struct stream *s, struct channel *chn, unsigned int an_bit) /* Remove backend filters from the list */ 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; }