You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Brian Pane <br...@apache.org> on 2002/08/25 05:06:59 UTC
[PATCH] remove bucket setaside code from content-length filter
This is an updated version of the C-L filter patch I posted
about a week ago. Since then, there's been some discussion
of moving the r->bytes_sent computation to the core output
filter. I started to implement that change, but the core
output filter was becoming far too complicated. So for now,
I'm leaving the r->bytes sent computation in the C-L filter.
Notes on this patch:
* It's basically the same as the previous C-L filter
patch that I posted, except that the filter now tries
a nonblocking read on each pipe bucket before flushing
the preceeding buckets (the nonblocking/blocking logic
is the same as what's in the CVS head version right now).
* With the patch applied, one of the chunked output tests
in t/TEST reports an error because the httpd no longer
includes a content-length in a response that used to have
one. (This happens because the first brigade passed to
the C-L filter doesn't contain an EOS, so the patched filter
code sends the brigade on to the next filter rather than
buffering it.) I think the error is incorrect, though,
because the server isn't actually required to send a C-L.
I'll wait a few days before committing this. For anyone who
wants to scrutinize the patch in the meantime, I've attached
it both the diff and a full copy of the new C-L filter function.
(The latter is easier to read.)
Brian