summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2001-01-19 17:19:51 +0000
committerRyan Bloom <rbb@apache.org>2001-01-19 17:19:51 +0000
commit8eedea62afb0d0e9befec5dbb12238435c54a680 (patch)
treecb5199cc5ecaffb625021a85c9591a67f59ea105
parentdad396617a3001e7a5f0790e0383dc6da1277af8 (diff)
downloadhttpd-8eedea62afb0d0e9befec5dbb12238435c54a680.tar.gz
Stop checking to see if this is a pipelined request if we know
for a fact that it isn't. Basically, if r->connection->keepalive == 0. This keeps us from making an extra read call when serving a 1.0 request. Submitted by: Ryan Bloom and Greg Stein git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87738 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES5
-rw-r--r--modules/http/http_request.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index aa880bb1c5..bc7eea2184 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
Changes with Apache 2.0b1
+ *) Stop checking to see if this is a pipelined request if we know
+ for a fact that it isn't. Basically, if r->connection->keepalive == 0.
+ This keeps us from making an extra read call when serving a 1.0
+ request. [Ryan Bloom and Greg Stein]
+
*) Fix the handling of variable expansion look-ahead in mod_rewrite,
i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
diff --git a/modules/http/http_request.c b/modules/http/http_request.c
index 25980de8c3..528e608086 100644
--- a/modules/http/http_request.c
+++ b/modules/http/http_request.c
@@ -1357,7 +1357,8 @@ static void process_request_internal(request_rec *r)
static void check_pipeline_flush(request_rec *r)
{
apr_bucket_brigade *bb = apr_brigade_create(r->pool);
- if (ap_get_brigade(r->input_filters, bb, AP_MODE_PEEK) != APR_SUCCESS) {
+ if (!r->connection->keepalive ||
+ ap_get_brigade(r->input_filters, bb, AP_MODE_PEEK) != APR_SUCCESS) {
apr_bucket *e = apr_bucket_create_flush();
/* We just send directly to the connection based filters, because at