diff options
author | leak <leak@bitmx.net> | 2014-06-30 16:28:55 +0200 |
---|---|---|
committer | leak <leak@bitmx.net> | 2014-06-30 16:28:55 +0200 |
commit | 9588c1d92b20573c2bd214b44a15e41fd8cf35b4 (patch) | |
tree | 0a423958783da24312b3b1e79dd02a47d6e41132 /src/server/shared/Cryptography/OpenSSLCrypto.cpp | |
parent | eb36acd1522a2e5b8a7d2b4b4a67fc34fc777f03 (diff) |
Replace ACE thread/mutex in OpenSSLCrypto
Diffstat (limited to 'src/server/shared/Cryptography/OpenSSLCrypto.cpp')
-rw-r--r-- | src/server/shared/Cryptography/OpenSSLCrypto.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/server/shared/Cryptography/OpenSSLCrypto.cpp b/src/server/shared/Cryptography/OpenSSLCrypto.cpp index bd72459e9df..d4e06dfd661 100644 --- a/src/server/shared/Cryptography/OpenSSLCrypto.cpp +++ b/src/server/shared/Cryptography/OpenSSLCrypto.cpp @@ -17,28 +17,23 @@ #include <OpenSSLCrypto.h> #include <openssl/crypto.h> -#include <ace/Thread_Mutex.h> #include <vector> -#include <ace/Thread.h> +#include <thread> +#include <mutex> -std::vector<ACE_Thread_Mutex*> cryptoLocks; +std::vector<std::mutex*> cryptoLocks; static void lockingCallback(int mode, int type, const char* /*file*/, int /*line*/) { if (mode & CRYPTO_LOCK) - cryptoLocks[type]->acquire(); + cryptoLocks[type]->lock(); else - cryptoLocks[type]->release(); + cryptoLocks[type]->unlock(); } static void threadIdCallback(CRYPTO_THREADID * id) { -/// ACE_thread_t turns out to be a struct under Mac OS. -#ifndef __APPLE__ - CRYPTO_THREADID_set_numeric(id, ACE_Thread::self()); -#else - CRYPTO_THREADID_set_pointer(id, ACE_Thread::self()); -#endif + CRYPTO_THREADID_set_numeric(id, std::this_thread::get_id().hash()); } void OpenSSLCrypto::threadsSetup() @@ -46,7 +41,7 @@ void OpenSSLCrypto::threadsSetup() cryptoLocks.resize(CRYPTO_num_locks()); for(int i = 0 ; i < CRYPTO_num_locks(); ++i) { - cryptoLocks[i] = new ACE_Thread_Mutex(); + cryptoLocks[i] = new std::mutex; } CRYPTO_THREADID_set_callback(threadIdCallback); CRYPTO_set_locking_callback(lockingCallback); @@ -61,4 +56,4 @@ void OpenSSLCrypto::threadsCleanup() delete cryptoLocks[i]; } cryptoLocks.resize(0); -}
\ No newline at end of file +} |