From: Brian Pane Date: Sun, 22 Jan 2006 07:40:47 +0000 (+0000) Subject: Force blocking reads in mod_ssl when running in an async MPM X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aaa2b904f013ac2640e3448129e4c98d130b26ac;p=thirdparty%2Fapache%2Fhttpd.git Force blocking reads in mod_ssl when running in an async MPM git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@371227 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index 0093e3b95ea..2733c70c272 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -459,6 +459,7 @@ static int bio_filter_in_read(BIO *bio, char *in, int inlen) apr_read_type_e block = inctx->block; SSLConnRec *sslconn = myConnConfig(inctx->f->c); + fprintf(stderr, "block mode is %d\n", (block == APR_BLOCK_READ ? 1 : 0)); inctx->rc = APR_SUCCESS; /* OpenSSL catches this case, so should we. */ @@ -1281,6 +1282,11 @@ static apr_status_t ssl_io_filter_input(ap_filter_t *f, return APR_ENOTIMPL; } + /* XXX: for now, do blocking reads even if running in + * an asynchronous httpd. mod_ssl will need some changes + * to deal with EAGAIN properly. + */ + block = APR_BLOCK_READ; inctx->mode = mode; inctx->block = block;