diff --git a/src/common/Cryptography/OpenSSLCrypto.cpp b/src/common/Cryptography/OpenSSLCrypto.cpp index f4a037f95f3..6bc8571f287 100644 --- a/src/common/Cryptography/OpenSSLCrypto.cpp +++ b/src/common/Cryptography/OpenSSLCrypto.cpp @@ -31,8 +31,9 @@ static void lockingCallback(int mode, int type, char const* /*file*/, int /*line cryptoLocks[type]->unlock(); } -static void threadIdCallback(CRYPTO_THREADID * id) +static void threadIdCallback(CRYPTO_THREADID* id) { + (void)id; CRYPTO_THREADID_set_numeric(id, std::hash()(std::this_thread::get_id())); } @@ -41,9 +42,13 @@ void OpenSSLCrypto::threadsSetup() cryptoLocks.resize(CRYPTO_num_locks()); for(int i = 0 ; i < CRYPTO_num_locks(); ++i) { - cryptoLocks[i] = new std::mutex; + cryptoLocks[i] = new std::mutex(); } + + (void)&threadIdCallback; CRYPTO_THREADID_set_callback(threadIdCallback); + + (void)&lockingCallback; CRYPTO_set_locking_callback(lockingCallback); }