On Thu, Apr 12, 2001 at 10:09:28AM -0700, Ryan Morgan wrote:
>
> I think there is a problem with the ap_f* wrappers in httpd. If the flush
> function is invoked from within apr_brigade_write, we end up skipping over
> a filter.
>
> The ap_f* fuctions are defined as:
>
> #define ap_fputs(f, bb, str) \
> apr_brigade_puts(bb, ap_filter_flush, (f)->next, str)
>
> If we decide to flush from within apr_brigade_write, ap_filter_flush is
> called with f->next, causing f->next->next to be the next filter to run.
> (skipping over f->next).
Well, I don't see the f->next->next anywhere, but simply skipping "f" is the
wrong item here. So... the patch is right, but your explanation seems a bit
off :-)
It looks like rbb's commit had a good explanation, tho.
All set!
Cheers,
-g
--
Greg Stein, http://www.lyra.org/