Author: markt Date: Sun Jun 19 17:08:11 2011 New Revision: 1137389 URL: http://svn.apache.org/viewvc?rev=1137389&view=rev Log: Align with JIoEndpoint
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=1137389&r1=1137388&r2=1137389&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Sun Jun 19 17:08:11 2011 @@ -66,9 +66,6 @@ public class AprEndpoint extends Abstrac private static final Log log = LogFactory.getLog(AprEndpoint.class); - private static final boolean IS_SECURITY_ENABLED = - (System.getSecurityManager() != null); - // ----------------------------------------------------------------- Fields /** * Root APR memory pool. @@ -828,7 +825,7 @@ public class AprEndpoint extends Abstrac new SocketEventProcessor(wrapper, status); ClassLoader loader = Thread.currentThread().getContextClassLoader(); try { - if (IS_SECURITY_ENABLED) { + if (Constants.IS_SECURITY_ENABLED) { PrivilegedAction<Void> pa = new PrivilegedSetTccl( getClass().getClassLoader()); AccessController.doPrivileged(pa); @@ -838,7 +835,7 @@ public class AprEndpoint extends Abstrac } getExecutor().execute(proc); } finally { - if (IS_SECURITY_ENABLED) { + if (Constants.IS_SECURITY_ENABLED) { PrivilegedAction<Void> pa = new PrivilegedSetTccl(loader); AccessController.doPrivileged(pa); } else { @@ -866,7 +863,8 @@ public class AprEndpoint extends Abstrac SocketProcessor proc = new SocketProcessor(socket, status); ClassLoader loader = Thread.currentThread().getContextClassLoader(); try { - if (IS_SECURITY_ENABLED) { + //threads should not be created by the webapp classloader + if (Constants.IS_SECURITY_ENABLED) { PrivilegedAction<Void> pa = new PrivilegedSetTccl( getClass().getClassLoader()); AccessController.doPrivileged(pa); @@ -874,9 +872,13 @@ public class AprEndpoint extends Abstrac Thread.currentThread().setContextClassLoader( getClass().getClassLoader()); } + // During shutdown, executor may be null - avoid NPE + if (!running) { + return false; + } getExecutor().execute(proc); } finally { - if (IS_SECURITY_ENABLED) { + if (Constants.IS_SECURITY_ENABLED) { PrivilegedAction<Void> pa = new PrivilegedSetTccl(loader); AccessController.doPrivileged(pa); } else { @@ -886,7 +888,7 @@ public class AprEndpoint extends Abstrac } } } catch (RejectedExecutionException x) { - log.warn("Socket processing request was rejected for:"+socket,x); + log.warn("Socket processing request was rejected for: "+socket, x); return false; } catch (Throwable t) { ExceptionUtils.handleThrowable(t); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org