Author: markt Date: Mon Sep 30 19:27:02 2013 New Revision: 1527733 URL: http://svn.apache.org/r1527733 Log: Switch to destroySocket in a few places where it is safe to do so.
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=1527733&r1=1527732&r2=1527733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Sep 30 19:27:02 2013 @@ -915,7 +915,8 @@ public class AprEndpoint extends Abstrac /* * This method should only be called if there is no chance that the socket - * is currently being used by the Poller. + * is currently being used by the Poller. It is generally a bad idea to call + * this directly from a known error condition. */ private void destroySocket(long socket) { connections.remove(Long.valueOf(socket)); @@ -998,12 +999,14 @@ public class AprEndpoint extends Abstrac if (running && !paused) { // Hand this socket off to an appropriate processor if (!processSocketWithOptions(socket)) { - // Close socket and pool right away + // Close socket right away closeSocket(socket); } } else { - // Close socket and pool right away - closeSocket(socket); + // Close socket right away + // No code path could have added the socket to the + // Poller so use destroySocket() + destroySocket(socket); } } catch (Throwable t) { ExceptionUtils.handleThrowable(t); @@ -1408,7 +1411,9 @@ public class AprEndpoint extends Abstrac connections.get(Long.valueOf(info.socket)).isComet(); if (!comet || (comet && !processSocket( info.socket, SocketStatus.STOP))) { - closeSocket(info.socket); + // Poller isn't running at this point so use destroySocket() + // directly + destroySocket(info.socket); } info = addList.get(); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org