On Fri, 20 Dec 2002 [EMAIL PROTECTED] wrote:

> apr_brigade_create(bb, ...);
> fill_brigade_with_data(bb, ...);
> ap_pass_brigade(bb, ...)
>
> ap_clean_brigade(bb, ...);
> fill_brigade_with_more_data(bb, ...);
> ap_pass_brigade(bb, ...);
>
> This is perfectly legal for a handler to do.

No it isn't, because if ap_pass_brigade() makes it all the way down to the
core_output_filter, then after ap_pass_brigade_() returns, bb will have
been destroyed by the core_output_filter.  I'm not necessarily saying
that's *right*, just that that's the case today.

I still can't decide whom to agree with in this debate.  I'll have to
ponder it overnight before I throw in my opinion.  One thing is certain...
the current level of segfaultyness and memory leakage is bad news for
httpd 2.0.44.  Note that there are quite a few places in the httpd (last I
checked) where we abandon bucket brigades because it's always been the
case that they were cleaned up for us.  The fact that that's changing
doesn't sit well with me, because it makes me nervous about the stability
of the next httpd 2.0 release.  Can we at least agree to do one thing:
release 2.0.44 *without* Brian's change.  Then we can sort out the best
course of action without delaying the entire release process on the stable
branch.  It might well be that the best course of action is to just fix
the places in httpd that abuse brigades.  But as Bill pointed out, what
about third party modules?  Ay caramba.

+1 to moving brigades back into httpd, fwiw.

Thanks,
Cliff

Reply via email to