httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <>
Subject Re: [PATCH] buckets take 2
Date Fri, 19 Jan 2001 00:24:23 GMT
On Thu, Jan 18, 2001 at 04:16:38PM -0800, wrote:
> > It's quite possible to inadvertently misorder output with just the 
> > bucket API.  Handler H generates some data in a brigade, calls helper 
> > function F, which generates and passes a brigade of data.  After F 
> > returns, H passes its brigade.  Now that data is misordered.  The 
> > long and short of it is that H either has to know what F is going to 
> > do, or it has to make sure that all its data gets to the filter chain 
> > before F is called.
> Good point.  As proof, I would simply offer sub-requests.  This is why
> before running a sub-request, you have to pass the data down the stack.

Well, Ryan has the key point: pass the data down the stack.

If you don't do that, then you're just holding onto the data. Generating
data into a brigade is not equivalent to sending output. If H doesn't call
ap_pass_brigade, before calling F, then it is *specifically* not intending
to send output at that point in time.

My point was that H should not be aware of the output mechanism that F uses.
H shouldn't know whether it uses ap_pass_brigade or ap_r*.

And I maintain it won't have to :-) ... it is possible to mix the two output
styles, and still have ap_r* be efficient.


Greg Stein,

View raw message