This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 3d495c13f30c2b5cf5c2730e26b7082147b9a313
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Feb 8 18:54:45 2024 +0000

    Reduce changes of crash on Library shutdown with OpenSSL connections
---
 java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java 
b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
index 82b01e775c..b2878a8beb 100644
--- a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
+++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
@@ -44,6 +44,7 @@ import javax.net.ssl.X509TrustManager;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.jni.CertificateVerifier;
+import org.apache.tomcat.jni.Library;
 import org.apache.tomcat.jni.Pool;
 import org.apache.tomcat.jni.SSL;
 import org.apache.tomcat.jni.SSLConf;
@@ -189,7 +190,7 @@ public class OpenSSLContext implements 
org.apache.tomcat.util.net.SSLContext {
     @Override
     public synchronized void destroy() {
         // Guard against multiple destroyPools() calls triggered by 
construction exception and finalize() later
-        if (aprPoolDestroyed.compareAndSet(0, 1)) {
+        if (aprPoolDestroyed.compareAndSet(0, 1) && Library.isInitialized()) {
             if (ctx != 0) {
                 SSLContext.free(ctx);
             }


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to