Author: rhuijben
Date: Wed Nov 4 01:56:18 2015
New Revision: 1712455
URL: http://svn.apache.org/viewvc?rev=1712455&view=rev
Log:
* test/MockHTTPinC/MockHTTP_server.c
(bio_apr_socket_write): Remove retry_len hack.
(bio_apr_socket_read,
bio_apr_socket_write): Make code more similar. Explicitly return -1
on errors to make the wrapper return the cached apr status.
(sslSocketRead): Remove retry_len caching and printf.
Modified:
serf/trunk/test/MockHTTPinC/MockHTTP_server.c
Modified: serf/trunk/test/MockHTTPinC/MockHTTP_server.c
URL:
http://svn.apache.org/viewvc/serf/trunk/test/MockHTTPinC/MockHTTP_server.c?rev=1712455&r1=1712454&r2=1712455&view=diff
==============================================================================
--- serf/trunk/test/MockHTTPinC/MockHTTP_server.c (original)
+++ serf/trunk/test/MockHTTPinC/MockHTTP_server.c Wed Nov 4 01:56:18 2015
@@ -2230,7 +2230,6 @@ struct sslCtx_t {
SSL* ssl;
BIO *bio;
- apr_size_t retry_len;
char read_buffer[8192];
};
@@ -2314,20 +2313,18 @@ static int bio_apr_socket_read(BIO *bio,
status = apr_socket_recv(cctx->skt, in, &len);
ssl_ctx->bio_status = status;
- if (len || APR_STATUS_IS_EAGAIN(status))
+ if (len > 0)
_mhLog(MH_VERBOSE, cctx->skt, "Read %d bytes from ssl socket with "
"status %d.\n", len, status);
if (APR_STATUS_IS_EAGAIN(status)) {
BIO_set_retry_read(bio);
- if (len == 0)
- return -1;
}
if (READ_ERROR(status))
return -1;
- return len;
+ return len ? len : -1;
}
/**
@@ -2345,16 +2342,18 @@ static int bio_apr_socket_write(BIO *bio
status = apr_socket_send(cctx->skt, in, &len);
ssl_ctx->bio_status = status;
- if (len || !APR_STATUS_IS_EAGAIN(status))
+ if (len > 0)
_mhLog(MH_VERBOSE, cctx->skt, "Wrote %d of %d bytes to ssl socket with
"
"status %d.\n", len, inlen, status);
- else if (APR_STATUS_IS_EAGAIN(status))
- BIO_set_retry_write(bio);
+
+ if (APR_STATUS_IS_EAGAIN(status)) {
+ BIO_set_retry_write(bio);
+ }
if (READ_ERROR(status))
return -1;
- return len;
+ return len ? len : -1;
}
@@ -2782,15 +2781,12 @@ sslSocketRead(apr_socket_t *skt, void *b
if (*len > sizeof(ssl_ctx->read_buffer))
*len = sizeof(ssl_ctx->read_buffer);
- if (ssl_ctx->retry_len)
- *len = ssl_ctx->retry_len;
ssl_ctx->bio_status = APR_SUCCESS;
result = SSL_read(ssl_ctx->ssl, ssl_ctx->read_buffer, *len);
if (result > 0) {
*len = result;
memcpy(data, ssl_ctx->read_buffer, *len);
- ssl_ctx->retry_len = 0;
return APR_SUCCESS;
} else {
int ssl_err;
@@ -2806,9 +2802,6 @@ sslSocketRead(apr_socket_t *skt, void *b
return ssl_ctx->bio_status;
case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE:
- ssl_ctx->retry_len = *len;
- fprintf(stderr, "WANT %s\n", (ssl_err== SSL_ERROR_WANT_READ)
- ? "read" : "write");
*len = 0;
return APR_EAGAIN;
case SSL_ERROR_SSL: