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