httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Ylavic <ylavic....@gmail.com>
Subject Re: svn commit: r1706669 - in /httpd/httpd/trunk: ./ include/ modules/http/ modules/ssl/ server/ server/mpm/event/ server/mpm/motorz/ server/mpm/simple/
Date Tue, 06 Oct 2015 11:07:55 GMT
On Tue, Oct 6, 2015 at 12:57 PM, Graham Leggett <minfrin@sharp.fm> wrote:
>
> On 06 Oct 2015, at 12:36 PM, Yann Ylavic <ylavic.dev@gmail.com> wrote:
>> BTW, I wonder if we can "reinstate" the filters in arbitrary order
>> like in the above loop (the order seems to depend on the calls to
>> ap_filter_setaside_brigade() and internal apr_hash_t ordering).
>> Don't we need to start from r->ouput_filters down to the last filter
>> and call ap_pass_brigade(f, c->empty) if f is in the hashtable?
>
> No - we don’t “reinstate” filters in any way, we just kick them. We kick each eligible
filter exactly once on each pass, and the order doesn’t matter. Every filter with data in
it gets a kick to ensure no filter is starved, all filters without data are silently ignored.

What I meant is that passing an empty brigade to a reinstate-able
filter may make it pass its data to the next filter, so we may want to
do this only on the first reinstate-able filter starting from
r->output_filters.

So it seems to me that order matters, but I must be missing something,
need to think more about this.


Regards,
Yann.

Mime
View raw message