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

On Sunday 09 October 2005 02:37, [EMAIL PROTECTED] 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

Reply via email to