#define _CERTIFICATE_DATABASE_H_
#include <dpl/thread.h>
-#include <dpl/mutex.h>
-
-extern DPL::Mutex g_certificateDBQueriesMutex;
-
-#define CERTIFICATE_DB_INTERNAL(tlsCommand, InternalType, interface) \
- static DPL::ThreadLocalVariable<InternalType> *tlsCommand##Ptr = NULL; \
- { \
- DPL::Mutex::ScopedLock lock(&g_certificateDBQueriesMutex); \
- if (!tlsCommand##Ptr) { \
- static DPL::ThreadLocalVariable<InternalType> tmp; \
- tlsCommand##Ptr = &tmp; \
- } \
- } \
- DPL::ThreadLocalVariable<InternalType> &tlsCommand = *tlsCommand##Ptr; \
+#include <mutex>
+
+extern std::mutex g_certificateDBQueriesMutex;
+
+#define CERTIFICATE_DB_INTERNAL(tlsCommand, InternalType, interface) \
+ static DPL::ThreadLocalVariable<InternalType> *tlsCommand##Ptr = NULL; \
+ { \
+ std::lock_guard<std::mutex> lock(g_certificateDBQueriesMutex); \
+ if (!tlsCommand##Ptr) { \
+ static DPL::ThreadLocalVariable<InternalType> tmp; \
+ tlsCommand##Ptr = &tmp; \
+ } \
+ } \
+ DPL::ThreadLocalVariable<InternalType> &tlsCommand = *tlsCommand##Ptr; \
if (tlsCommand.IsNull()) { tlsCommand = InternalType(interface); }
#define CERTIFICATE_DB_SELECT(name, type, interface) \