diff --git a/rdbms/OcciEnvSingleton.cpp b/rdbms/OcciEnvSingleton.cpp index 7471f06e05f46b159af7f1634f894265f9bc60d0..84844fff7900ae3812c1c137b51a713dea336743 100644 --- a/rdbms/OcciEnvSingleton.cpp +++ b/rdbms/OcciEnvSingleton.cpp @@ -16,8 +16,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "OcciEnvSingleton.hpp" +#include "rdbms/OcciEnvSingleton.hpp" #include "common/exception/Exception.hpp" +#include "common/threading/MutexLocker.hpp" namespace cta { namespace rdbms { @@ -25,7 +26,7 @@ namespace rdbms { //------------------------------------------------------------------------------ // s_mutex //------------------------------------------------------------------------------ -std::mutex OcciEnvSingleton::s_mutex; +threading::Mutex OcciEnvSingleton::s_mutex; //------------------------------------------------------------------------------ // s_instance @@ -37,7 +38,7 @@ std::unique_ptr<OcciEnvSingleton> OcciEnvSingleton::s_instance; //------------------------------------------------------------------------------ OcciEnvSingleton &OcciEnvSingleton::instance() { try { - std::lock_guard<std::mutex> lock(s_mutex); + threading::MutexLocker locker(s_mutex); if(nullptr == s_instance.get()) { s_instance.reset(new OcciEnvSingleton()); diff --git a/rdbms/OcciEnvSingleton.hpp b/rdbms/OcciEnvSingleton.hpp index 9f4197bd4b82342f02a1cc67007edaa1885c8b47..c6c36b2faa91edf2367955e3285a47b4fa16f5ab 100644 --- a/rdbms/OcciEnvSingleton.hpp +++ b/rdbms/OcciEnvSingleton.hpp @@ -18,10 +18,10 @@ #pragma once -#include "OcciEnv.hpp" +#include "common/threading/Mutex.hpp" +#include "rdbms/OcciEnv.hpp" #include <memory> -#include <mutex> namespace cta { namespace rdbms { @@ -43,7 +43,7 @@ private: * Mutex used to implement a critical region around the implementation of the * instance() method. */ - static std::mutex s_mutex; + static threading::Mutex s_mutex; /** * The single instance of this class.