httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Pane <bri...@apache.org>
Subject Re: svn commit: r307339 - in /httpd/httpd/branches/async-dev
Date Sun, 09 Oct 2005 17:49:51 GMT

On Oct 9, 2005, at 3:25 AM, Nick Kew wrote:

> On Sunday 09 October 2005 02:37, brianp@apache.org wrote:
>
>
>> URL: http://svn.apache.org/viewcvs?rev=307339&view=rev
>> Log:
>> Redesign of request cleanup:
>>   - A new End-Of-Request bucket is pushed through the output filter
>>     chain after the last bucket of the response.
>>   - This bucket gets destroyed by ap_core_output_filter() after the
>>     buckets in front of it have been sent.
>>   - The destroy callback of the EOR bucket invokes the access logger
>>     and frees the request's pool.
>>
>
> How do you see this looking from a filter programmer's POV?  I can see
> a danger of some nasty bugs arising from confusion between this and
> EOS buckets:
>
>  - Existing filters test for EOS and will ignore EOR.  That's  
> presumably
>    fine with you.
>  - Sooner or later, someone will write a filter that propagates EOR
>    and not EOS.  Bang!
>
> Is there no way you could use EOS directly?

I can think of two easy solutions:

- Wrap the EOR declaration in "#ifdef CORE_PRIVATE," just
   like we do for EOC.
- Or modify the EOS bucket API to support an optional "on_destroy"
   callback.

I slightly prefer the first option, but I'm open to suggestions.

Thanks,
Brian


Mime
View raw message