At 03:43 PM 10/21/2003, Nick Kew wrote:
>> Ahhh.  Now look at the code below.  WHO removes the byterange filter?
>>
>> Answer, the byterange filter removes itself.
>
>That's perfectly clear, and it's common practice.  I (and evidently
>others) read your previous post as disallowing that, causing a
>raised eyebrow.
>
>
>>         It *knows* there are no partially
>> processed buckets that it is holding on to.  Nobody else is allowed to add
>> or remove a filter - but the filter may remove itself when it knows this is
>> a safe operation.
>
>May I humbly submit there are other perfectly safe situations:
>  (1) Any filter in its filter_init phase can remove another
>      filter (some of my output filters remove the Content-Length
>      filter - as it was causing bogus results on HEAD requests).
>  (2) In the main loop, a filter can remove another from later
>      in the chain before any data have been passed through.
>  (3) Where another filter's behavious is known to be safe
>      (mod_diagnostics filters can be removed at any time).

Great summary :)  However, number (3) use some caution.  Although you
think that the DIAGNOSTIC filter behaves a certain way, the next upgrade
by the author might introduce new considerations.

Bill

Reply via email to