diff options
author | Greg Ames <gregames@apache.org> | 2007-04-30 18:16:06 +0000 |
---|---|---|
committer | Greg Ames <gregames@apache.org> | 2007-04-30 18:16:06 +0000 |
commit | 2c91e92953037f3f656202c6e2c549b64faa9e02 (patch) | |
tree | 47e7a67ccb19eff1b7e7603ce88f29543217d9dd | |
parent | 39e8459729da4f2a71e168266057edbcf0b13834 (diff) | |
download | httpd-2c91e92953037f3f656202c6e2c549b64faa9e02.tar.gz |
check_pipeline: use AP_MODE_SPECULATIVE to check for data in the input filters
to accomodate mod_ssl's input filter. AP_MODE_EATCRLF is essentially a no-op
in that filter.
this fixes missing imbedded graphics etc when using the Event MPM with mod_ssl
with HTTP pipelining enabled in the browser. the pipelined requests after the
first were never read from mod_ssl's input filter. it might reduce unneeded
flushes with other MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@533820 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | modules/http/http_request.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 640df9152e..0238d34119 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -193,11 +193,10 @@ AP_DECLARE(void) ap_die(int type, request_rec *r) static void check_pipeline(conn_rec *c) { - /* ### is zero correct? that means "read one line" */ if (c->keepalive != AP_CONN_CLOSE) { apr_bucket_brigade *bb = apr_brigade_create(c->pool, c->bucket_alloc); - if (ap_get_brigade(c->input_filters, bb, AP_MODE_EATCRLF, - APR_NONBLOCK_READ, 0) != APR_SUCCESS) { + if (ap_get_brigade(c->input_filters, bb, AP_MODE_SPECULATIVE, + APR_NONBLOCK_READ, 1) != APR_SUCCESS) { c->data_in_input_filters = 0; /* we got APR_EOF or an error */ } else { |