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: