mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
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
This commit is contained in:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user