aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Cryptography/OpenSSLCrypto.cpp
diff options
context:
space:
mode:
authorleak <leak@bitmx.net>2014-06-30 16:28:55 +0200
committerleak <leak@bitmx.net>2014-06-30 16:28:55 +0200
commit9588c1d92b20573c2bd214b44a15e41fd8cf35b4 (patch)
tree0a423958783da24312b3b1e79dd02a47d6e41132 /src/server/shared/Cryptography/OpenSSLCrypto.cpp
parenteb36acd1522a2e5b8a7d2b4b4a67fc34fc777f03 (diff)
Replace ACE thread/mutex in OpenSSLCrypto
Diffstat (limited to 'src/server/shared/Cryptography/OpenSSLCrypto.cpp')
-rw-r--r--src/server/shared/Cryptography/OpenSSLCrypto.cpp21
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
+}