On Wed, 3 Mar 2004, Bojan Smojver wrote:

> If you have mod_logio configured, this might be its doing. It replaces
> the EOS with FLUSH. This is in order to make sure all output is counted
> and logged properly for each request.

That's bad.  :)

If you have to do that, then something else is broken.

>     /* End of data, make sure we flush */
>     if (APR_BUCKET_IS_EOS(b)) {
>         APR_BRIGADE_INSERT_TAIL(bb,
>                                 apr_bucket_flush_create(f->c->bucket_alloc));
>         APR_BUCKET_REMOVE(b);
>         apr_bucket_destroy(b);
>     }
>
>     return ap_pass_brigade(f->next, bb);
> }
> -------------------------------------------------------
>
> I remember trying without APR_BUCKET_REMOVE/apr_bucket_destroy, but that
> kept giving me problems. This was long time ago and I don't remember
> exactly what the nature of those problems.

That would be a problem because then you'd have a FLUSH bucket *after*
your EOS bucket in brigade bb (or at least that's what I assume from the
context given here without actually pulling up the whole module), which is
illegal.

PS: a shorthand for APR_BUCKET_REMOVE()+apr_bucket_destroy() is
apr_bucket_delete().

--Cliff

Reply via email to