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/

Reply via email to