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