#define _CUSTOM_HANDLER_DATABASE_H_
#include <dpl/thread.h>
-#include <dpl/mutex.h>
#include <dpl/db/thread_database_support.h>
+#include <mutex>
namespace CustomHandlerDB {
namespace Interface {
void attachDatabaseRW();
void detachDatabase();
-extern DPL::Mutex g_dbQueriesMutex;
+extern std::mutex g_dbQueriesMutex;
extern DPL::DB::ThreadDatabaseSupport g_dbInterface;
} // namespace Interface
} // namespace CustomHandlerDB
-#define CUSTOM_HANDLER_DB_INTERNAL(tlsCommand, InternalType) \
- static DPL::ThreadLocalVariable<InternalType> *tlsCommand##Ptr = NULL; \
- { \
- DPL::Mutex::ScopedLock lock( \
- &CustomHandlerDB::Interface::g_dbQueriesMutex); \
- if (!tlsCommand##Ptr) { \
- static DPL::ThreadLocalVariable<InternalType> tmp; \
- tlsCommand##Ptr = &tmp; \
- } \
- } \
- DPL::ThreadLocalVariable<InternalType> &tlsCommand = *tlsCommand##Ptr; \
- if (tlsCommand.IsNull()) \
- { \
- tlsCommand = InternalType(&CustomHandlerDB::Interface::g_dbInterface); \
+#define CUSTOM_HANDLER_DB_INTERNAL(tlsCommand, InternalType) \
+ static DPL::ThreadLocalVariable<InternalType> *tlsCommand##Ptr = NULL; \
+ { \
+ std::lock_guard<std::mutex> lock( \
+ CustomHandlerDB::Interface::g_dbQueriesMutex); \
+ if (!tlsCommand##Ptr) { \
+ static DPL::ThreadLocalVariable<InternalType> tmp; \
+ tlsCommand##Ptr = &tmp; \
+ } \
+ } \
+ DPL::ThreadLocalVariable<InternalType> &tlsCommand = *tlsCommand##Ptr; \
+ if (tlsCommand.IsNull()) \
+ { \
+ tlsCommand = InternalType(&CustomHandlerDB::Interface::g_dbInterface);\
}
#define CUSTOM_HANDLER_DB_SELECT(name, type) \