summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL')
-rw-r--r--cpp/src/IceSSL/OpenSSLEngine.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/IceSSL/OpenSSLEngine.cpp b/cpp/src/IceSSL/OpenSSLEngine.cpp
index 76c83464b54..029cf825ffd 100644
--- a/cpp/src/IceSSL/OpenSSLEngine.cpp
+++ b/cpp/src/IceSSL/OpenSSLEngine.cpp
@@ -55,6 +55,9 @@ public:
~Init()
{
+ CRYPTO_set_locking_callback(0);
+ CRYPTO_set_id_callback(0);
+
delete staticMutex;
staticMutex = 0;
@@ -102,7 +105,7 @@ IceSSL_opensslThreadIdCallback()
// On some platforms, pthread_t is a pointer to a per-thread structure.
//
return reinterpret_cast<unsigned long>(pthread_self());
-# elif (defined(__linux) || defined(__sun) || defined(__hpux)) || defined(_AIX)
+# elif defined(__linux) || defined(__sun) || defined(__hpux) || defined(_AIX) || defined(__GLIBC__)
//
// On Linux, Solaris, HP-UX and AIX, pthread_t is an integer.
//