Author: markt
Date: Sat Dec 12 20:32:29 2015
New Revision: 1719732

URL: http://svn.apache.org/viewvc?rev=1719732&view=rev
Log:
Revert r1719532, r1719534 & r1719535 until a better fix can be found for APR's 
handling of client disconnect.

Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java?rev=1719732&r1=1719731&r2=1719732&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessorLight.java Sat Dec 12 
20:32:29 2015
@@ -50,7 +50,7 @@ public abstract class AbstractProcessorL
             } else if (dispatches != null) {
                 DispatchType nextDispatch = dispatches.next();
                 state = dispatch(nextDispatch.getSocketStatus());
-            } else if (status == SocketStatus.DISCONNECT && !isUpgrade()) {
+            } else if (status == SocketStatus.DISCONNECT) {
                 // Do nothing here, just wait for it to get recycled
             } else if (isAsync() || isUpgrade() || state == 
SocketState.ASYNC_END) {
                 state = dispatch(status);

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1719732&r1=1719731&r2=1719732&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Sat Dec 12 
20:32:29 2015
@@ -1706,12 +1706,8 @@ public class AprEndpoint extends Abstrac
                                 }
                                 wrapper.pollerFlags = wrapper.pollerFlags & 
~((int) desc[n*2]);
                                 // Check for failed sockets and hand this 
socket off to a worker
-                                if ((desc[n*2] & Poll.APR_POLLHUP) == 
Poll.APR_POLLHUP) {
-                                    if (!processSocket(desc[n*2+1], 
SocketStatus.DISCONNECT)) {
-                                        // Close socket and clear pool
-                                        closeSocket(desc[n*2+1]);
-                                    }
-                                } else if(((desc[n*2] & Poll.APR_POLLERR) == 
Poll.APR_POLLERR)
+                                if (((desc[n*2] & Poll.APR_POLLHUP) == 
Poll.APR_POLLHUP)
+                                        || ((desc[n*2] & Poll.APR_POLLERR) == 
Poll.APR_POLLERR)
                                         || ((desc[n*2] & Poll.APR_POLLNVAL) == 
Poll.APR_POLLNVAL)) {
                                     // Need to trigger error handling. Poller 
may return error
                                     // codes plus the flags it was waiting for 
or it may just

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1719732&r1=1719731&r2=1719732&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Sat Dec 12 20:32:29 2015
@@ -174,7 +174,6 @@ public class WsHttpUpgradeHandler implem
                     close(cr);
                 }
                 break;
-            case DISCONNECT:
             case ERROR:
                 String msg = sm.getString("wsHttpUpgradeHandler.closeOnError");
                 wsSession.doClose(new CloseReason(CloseCodes.GOING_AWAY, msg),
@@ -183,6 +182,7 @@ public class WsHttpUpgradeHandler implem
             case ASYNC_READ_ERROR:
             case ASYNC_WRITE_ERROR:
             case CLOSE_NOW:
+            case DISCONNECT:
             case TIMEOUT:
                 return SocketState.CLOSED;
 



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

Reply via email to