diff options
author | James E. King, III <jim.king@simplivity.com> | 2016-09-29 15:04:09 -0400 |
---|---|---|
committer | Nobuaki Sukegawa <nsuke@apache.org> | 2016-10-01 23:40:03 +0900 |
commit | 4bbfe6120e71b81df7f23dcc246990c29eb27859 (patch) | |
tree | b748816a9c26df30d82ad559ed0511350c001108 | |
parent | 4d39ac5240ec5f25faebfefa26e30389a1cf417f (diff) | |
download | thrift-4bbfe6120e71b81df7f23dcc246990c29eb27859.tar.gz |
THRIFT-3878: fix interop with newer OpenSSL libraries
This closes #1102
-rw-r--r-- | lib/cpp/src/thrift/transport/TSSLSocket.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp index 517151f71..1efb9f7a4 100644 --- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp +++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp @@ -108,7 +108,12 @@ void initializeOpenSSL() { SSL_library_init(); SSL_load_error_strings(); // static locking + // newer versions of OpenSSL changed CRYPTO_num_locks - see THRIFT-3878 +#ifdef CRYPTO_num_locks + mutexes = boost::shared_array<Mutex>(new Mutex[CRYPTO_num_locks()]); +#else mutexes = boost::shared_array<Mutex>(new Mutex[ ::CRYPTO_num_locks()]); +#endif if (mutexes == NULL) { throw TTransportException(TTransportException::INTERNAL_ERROR, "initializeOpenSSL() failed, " |