From: Joe Orton Date: Tue, 23 Jun 2009 15:42:02 +0000 (+0000) Subject: * modules/ssl/ssl_engine_io.c (bio_filter_out_ctrl): Switch X-Git-Tag: 2.3.3~502 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=781f39a68a87bcdc17f64bf0be88310014e0c8e5;p=apache * modules/ssl/ssl_engine_io.c (bio_filter_out_ctrl): Switch implementation of BIO_CTRL_PENDING and BIO_CTRL_WPENDING, to return zero and pending-bytes-to-write respectively. PR: 46952 Submitted by: David Smith git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@787722 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index 9f06bb92b8..622083bc61 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -261,10 +261,14 @@ static long bio_filter_out_ctrl(BIO *bio, int cmd, long num, void *ptr) case BIO_CTRL_SET_CLOSE: bio->shutdown = (int)num; break; - case BIO_CTRL_WPENDING: + case BIO_CTRL_PENDING: + /* _PENDING is interpreted as "pending to read" - since this + * is a *write* buffer, return zero. */ ret = 0L; break; - case BIO_CTRL_PENDING: + case BIO_CTRL_WPENDING: + /* _WPENDING is interpreted as "pending to write" - return the + * number of bytes in ->bb plus buffer. */ ret = (long)(outctx->blen + outctx->length); break; case BIO_CTRL_FLUSH: