Author: mturk Date: Fri Sep 3 19:54:02 2010 New Revision: 992440 URL: http://svn.apache.org/viewvc?rev=992440&view=rev Log: Hard close the accepting socket if unlockAccept failed
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 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=992440&r1=992439&r2=992440&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Sep 3 19:54:02 2010 @@ -671,6 +671,7 @@ public class AprEndpoint extends Abstrac running = false; unlockAccept(); for (int i = 0; i < acceptors.length; i++) { + int c = 0; while (acceptors[i].isAlive()) { try { acceptors[i].interrupt(); @@ -678,6 +679,14 @@ public class AprEndpoint extends Abstrac } catch (InterruptedException e) { // Ignore } + if (c++ > 60) { + // If the Acceptor is still running force + // the hard socket close. + if (serverSock != 0) { + Socket.close(serverSock); + serverSock = 0; + } + } } } for (int i = 0; i < pollers.length; i++) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org