Author: remm Date: Wed Feb 18 09:25:30 2015 New Revision: 1660582 URL: http://svn.apache.org/r1660582 Log: - Add debugging of my own (sorry), on socket close. - Try dropping the direct socket close from the upgraded streams (the sockets seem to still be closed and the ws tests pass with NIO1+2). Actually following the discussions on the EG, I don't think the close required logic is fully right, it would seem it should wait for both input AND output to be closed, but this needs to be validated.
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java?rev=1660582&r1=1660581&r2=1660582&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java Wed Feb 18 09:25:30 2015 @@ -142,7 +142,6 @@ public class UpgradeServletInputStream e @Override public void close() throws IOException { closeRequired = true; - socketWrapper.close(); } Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java?rev=1660582&r1=1660581&r2=1660582&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java Wed Feb 18 09:25:30 2015 @@ -172,7 +172,6 @@ public class UpgradeServletOutputStream @Override public void close() throws IOException { closeRequired = true; - socketWrapper.close(); } Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1660582&r1=1660581&r2=1660582&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Feb 18 09:25:30 2015 @@ -589,6 +589,10 @@ public class Nio2Endpoint extends Abstra } public void closeSocket(SocketWrapperBase<Nio2Channel> socket) { + if (log.isDebugEnabled()) { + log.debug("Calling [" + this + "].closeSocket([" + socket + "],[" + socket.getSocket() + "])", + new Exception()); + } if (socket == null) { return; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org