Author: markt
Date: Fri Mar 23 09:55:08 2012
New Revision: 1304253
URL: http://svn.apache.org/viewvc?rev=1304253&view=rev
Log:
kkolinko review of r1304011: Always close selector
Additionally, ensure that an exception during the close does not prevent the
poller loop from ending
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1304253&r1=1304252&r2=1304253&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Mar 23
09:55:08 2012
@@ -1121,6 +1121,12 @@ public class NioEndpoint extends Abstrac
if (close) {
events();
timeout(0, false);
+ try {
+ selector.close();
+ } catch (IOException ioe) {
+ log.error(sm.getString(
+ "endpoint.nio.selectorCloseFail"), ioe);
+ }
break;
} else {
hasEvents = events();
@@ -1139,7 +1145,12 @@ public class NioEndpoint extends Abstrac
if (close) {
events();
timeout(0, false);
- selector.close();
+ try {
+ selector.close();
+ } catch (IOException ioe) {
+ log.error(sm.getString(
+ "endpoint.nio.selectorCloseFail"),
ioe);
+ }
break;
}
} catch ( NullPointerException x ) {
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties?rev=1304253&r1=1304252&r2=1304253&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
Fri Mar 23 09:55:08 2012
@@ -36,3 +36,4 @@ endpoint.debug.channelCloseFail=Failed t
endpoint.debug.socketCloseFail=Failed to close socket
endpoint.apr.noSslCertFile=Connector attribute SSLCertificateFile must be
defined when using SSL with APR
endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the
SSLProtocol attribute
+endpoint.nio.selectorCloseFail=Failed to close selector when closing the poller
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]