Author: markt
Date: Wed Jun 22 19:39:11 2016
New Revision: 1749766

URL: http://svn.apache.org/viewvc?rev=1749766&view=rev
Log:
 Correctly handle OS level EAGAIN return codes during non-blocking TLS I/O

Modified:
    tomcat/native/trunk/native/src/sslnetwork.c
    tomcat/native/trunk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/native/trunk/native/src/sslnetwork.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/sslnetwork.c?rev=1749766&r1=1749765&r2=1749766&view=diff
==============================================================================
--- tomcat/native/trunk/native/src/sslnetwork.c (original)
+++ tomcat/native/trunk/native/src/sslnetwork.c Wed Jun 22 19:39:11 2016
@@ -339,8 +339,11 @@ TCN_IMPLEMENT_CALL(jint, SSLSocket, hand
                     }
                 break;
                 case SSL_ERROR_SYSCALL:
+                    if (APR_STATUS_IS_EAGAIN(rv)) {
+                        return APR_EAGAIN;
+                    }
 #if !defined(_WIN32)
-                    if (APR_STATUS_IS_EINTR(rv)) {
+                    else if (APR_STATUS_IS_EINTR(rv)) {
                         /* Interrupted by signal */
                         continue;
                     }
@@ -427,6 +430,9 @@ ssl_socket_recv(apr_socket_t *sock, char
                         con->shutdown_type = SSL_SHUTDOWN_TYPE_STANDARD;
                         return APR_EOF;
                     }
+                    else if (APR_STATUS_IS_EAGAIN(rv)) {
+                        return APR_EAGAIN;
+                    }
 #if !defined(_WIN32)
                     else if (APR_STATUS_IS_EINTR(rv)) {
                         /* Interrupted by signal

Modified: tomcat/native/trunk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/xdocs/miscellaneous/changelog.xml?rev=1749766&r1=1749765&r2=1749766&view=diff
==============================================================================
--- tomcat/native/trunk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/native/trunk/xdocs/miscellaneous/changelog.xml Wed Jun 22 19:39:11 
2016
@@ -40,6 +40,10 @@
       <bug>59616</bug>: Correct the Windows build files so that OCSP is
       correctly enabled and disabled in the respective Windows binaries. 
(markt)
     </fix>
+    <fix>
+      Correctly handle OS level EAGAIN return codes during non-blocking TLS 
I/O.
+      (markt)
+    </fix>
   </changelog>
 </section>
 <section name="Changes in 1.2.7">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to