httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <b...@wstoddard.com>
Subject Re: cvs commit: httpd-2.0/server core.c
Date Tue, 01 May 2001 22:37:01 GMT
> On Tue, May 01, 2001 at 12:16:21PM -0700, rbb@covalent.net wrote:
> > 
> > > > > 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?
> > 
> > I don't think that is enough.  We need to also make sure that we don't
> > have nbytes >= AP_MIN_BYTES_TO_WRITE.  The problem is that last
> > conditional is really just kind of bogus.  I am working on a patch, and
> > should have it soon-ish.
> 
> We don't count bytes for the files, so that doesn't quite work (which is why
> I did the !fd thang).
> 
> However... now that I think about it. We *should* count bytes for the files.
> We have the lower threshold for use of sendfile(), but we shouldn't write to
> the network for, say, a 500 byte file and 10 bytes of other content.
> 
> To clarify what I'm trying to say:
> 
> Let's say that we have 200 bytes of headers and a 500 byte file. If we just
> key off of the file, then we'd end up doing a sendfile with 700 bytes total
> content. Bummer.
> 

Only a bummer if the next request if pipelined. If I catch what you are bummed about :-)

Bill


Mime
View raw message