apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: apr_brigade_write() [was Re: cvs commit: apr-util/buckets apr_brigade.c]
Date Thu, 23 May 2002 21:50:52 GMT
On Thu, May 23, 2002 at 05:21:25PM -0400, Cliff Woolley wrote:
> On Thu, 23 May 2002, Cliff Woolley wrote:
> > > At some point, apr_brigade_write() got broken. When the HEAP bucket at the
> > > end of the brigade fills up, the flush function should be called. The
> > > current code allocates *another* heap bucket. With this logic, it is
> > > possible to grow a brigade without any periodic flushing. *very* bad.
> >
> > That could be my fault from when I got rid of the awful awful beast that
> > was check_brigade_flush().  I *thought* I was very careful to keep the
> > exact semantics, but I might have missed this case.  I'll take another
> > look at it.
> Hmmm... when SVN calls apr_brigade_write(), does it provide a flush
> function or not?

Definitely. We're using the various ap_f* functions, plus a bit of the
brigade functions directly.

> Where in SVN is this, so I can take a closer look?

You can see their usage in:

    - apr_brigade_vprintf()
    - ap_filter_flush
    - ap_fputstrs()
    - ap_fputs()

There may be other calls. The filter stack is called 'output' in both of
those files, so you can see where they're generating the output.


(and yes, those URLs are directly into the SVN repository; they are
 displaying the HEAD revision)

Greg Stein, http://www.lyra.org/

View raw message