On Tue, May 01, 2001 at 11:13:10AM -0700, [EMAIL PROTECTED] wrote:
>...
> > 1 heap bucket containing the headers
> > 1 file bucket with the file descriptor
> > 1 eos bucket
> >
> > The following code is hit and we enter the conditional because the last bucket was
>an eos and the
> > connection is keep-alive.
> >
> > if ((!fd && !more &&
> > (nbytes < AP_MIN_BYTES_TO_WRITE) && !APR_BUCKET_IS_FLUSH(e))
> > || (APR_BUCKET_IS_EOS(e) && c->keepalive)) {
> >
> > I think the logic in the conditional is just wrong.
>
> I agree completely. I think I can fix this in a few minutes. Watch for a
> patch.
Hmm. It seems that we'd just want to completely skip the whole thing if fd
has something in it. So the conditional might be:
if (!fd && ((!more && nbytes < AP_MIN_BYTES_TO_WRITE
&& !APR_BUCKET_IS_FLUSH(e))
|| (APR_BUCKET_IS_EOS(e) && c->keepalive)))
Does that seem right?
Cheers,
-g
--
Greg Stein, http://www.lyra.org/