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:


Reply via email to