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: [email protected]
For additional commands, e-mail: [email protected]