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