Author: markt Date: Fri Jun 5 14:42:43 2009 New Revision: 782032 URL: http://svn.apache.org/viewvc?rev=782032&view=rev Log: Differentiate between APR having been initialised and being available. Changes the meaning of aprInitialized so will not propose for back port.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=782032&r1=782031&r2=782032&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Fri Jun 5 14:42:43 2009 @@ -595,7 +595,7 @@ */ public void setProtocol(String protocol) { - if (AprLifecycleListener.isAprInitialized()) { + if (AprLifecycleListener.isAprAvailable()) { if ("HTTP/1.1".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.http11.Http11AprProtocol"); Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=782032&r1=782031&r2=782032&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Fri Jun 5 14:42:43 2009 @@ -34,7 +34,7 @@ /** * Implementation of <code>LifecycleListener</code> that will init and * and destroy APR. - * + * * @author Remy Maucherat * @author Filip Hanik * @version $Revision$ $Date$ @@ -49,7 +49,7 @@ /** * The string manager for this package. */ - protected StringManager sm = + protected static StringManager sm = StringManager.getManager(Constants.Package); @@ -68,9 +68,12 @@ protected static String SSLRandomSeed = "builtin"; protected static boolean sslInitialized = false; protected static boolean aprInitialized = false; + protected static boolean sslAvailable = false; + protected static boolean aprAvailable = false; - public static boolean isAprInitialized() { - return aprInitialized; + public static boolean isAprAvailable() { + init(); + return aprAvailable; } // ---------------------------------------------- LifecycleListener Methods @@ -83,8 +86,8 @@ public void lifecycleEvent(LifecycleEvent event) { if (Lifecycle.INIT_EVENT.equals(event.getType())) { - aprInitialized = init(); - if (aprInitialized) { + init(); + if (aprAvailable) { try { initializeSSL(); } catch (Throwable t) { @@ -92,7 +95,7 @@ } } } else if (Lifecycle.AFTER_STOP_EVENT.equals(event.getType())) { - if (!aprInitialized) { + if (!aprAvailable) { return; } try { @@ -114,14 +117,16 @@ method.invoke(null, (Object []) null); } - private boolean init() + private static void init() { int major = 0; int minor = 0; int patch = 0; if (aprInitialized) { - return true; + return; } + aprInitialized = true; + try { String methodName = "initialize"; Class<?> paramTypes[] = new Class[1]; @@ -137,7 +142,7 @@ } catch (Throwable t) { log.info(sm.getString("aprListener.aprInit", System.getProperty("java.library.path"))); - return false; + return; } if ((major != TCN_REQUIRED_MAJOR) || (minor < TCN_REQUIRED_MINOR) || @@ -154,7 +159,7 @@ } catch (Throwable t) { // Ignore } - return false; + return; } if (minor < TCN_RECOMMENDED_MIN || (minor == TCN_RECOMMENDED_MIN && patch < TCN_RECOMMENDED_PV)) { @@ -174,7 +179,7 @@ Boolean.valueOf(Library.APR_HAS_SENDFILE), Boolean.valueOf(Library.APR_HAS_SO_ACCEPTFILTER), Boolean.valueOf(Library.APR_HAS_RANDOM))); - return true; + aprAvailable = true; } private static synchronized void initializeSSL() @@ -189,6 +194,8 @@ //only once per VM return; } + sslInitialized = true; + String methodName = "randSet"; Class<?> paramTypes[] = new Class[1]; paramTypes[0] = String.class; @@ -204,7 +211,7 @@ method = clazz.getMethod(methodName, paramTypes); method.invoke(null, paramValues); - sslInitialized = true; + sslAvailable = true; } public String getSSLEngine() { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org