diff --git a/Source/cmServer.cxx b/Source/cmServer.cxx index ac42fdece0..1b04ca2876 100644 --- a/Source/cmServer.cxx +++ b/Source/cmServer.cxx @@ -18,6 +18,7 @@ #include #include #include +#include #include void on_signal(uv_signal_t* signal, int signum) @@ -490,7 +491,7 @@ void cmServerBase::StartShutDown() SIGHUPHandler.reset(); { - cm::unique_lock lock(ConnectionsMutex); + std::unique_lock lock(ConnectionsMutex); for (auto& connection : Connections) { connection->OnConnectionShuttingDown(); } @@ -537,7 +538,7 @@ cmServerBase::~cmServerBase() void cmServerBase::AddNewConnection(cmConnection* ownedConnection) { { - cm::unique_lock lock(ConnectionsMutex); + std::unique_lock lock(ConnectionsMutex); Connections.emplace_back(ownedConnection); } ownedConnection->SetServer(this); @@ -554,7 +555,7 @@ void cmServerBase::OnDisconnect(cmConnection* pConnection) return m.get() == pConnection; }; { - cm::unique_lock lock(ConnectionsMutex); + std::unique_lock lock(ConnectionsMutex); Connections.erase( std::remove_if(Connections.begin(), Connections.end(), pred), Connections.end()); diff --git a/Source/cmUVHandlePtr.cxx b/Source/cmUVHandlePtr.cxx index d7e38c3d28..eb70416c71 100644 --- a/Source/cmUVHandlePtr.cxx +++ b/Source/cmUVHandlePtr.cxx @@ -4,9 +4,9 @@ #include "cmUVHandlePtr.h" #include +#include #include -#include "cm_thread.hxx" #include "cm_uv.h" namespace cm { @@ -97,16 +97,16 @@ struct uv_handle_deleter * which is mandated by the standard for Deleter on * shared_ptrs. */ - std::shared_ptr handleMutex; + std::shared_ptr handleMutex; uv_handle_deleter() - : handleMutex(std::make_shared()) + : handleMutex(std::make_shared()) { } void operator()(uv_async_t* handle) { - cm::lock_guard lock(*handleMutex); + std::lock_guard lock(*handleMutex); default_delete(handle); } }; @@ -116,7 +116,7 @@ void uv_async_ptr::send() auto deleter = std::get_deleter>(this->handle); assert(deleter); - cm::lock_guard lock(*deleter->handleMutex); + std::lock_guard lock(*deleter->handleMutex); if (this->handle) { uv_async_send(*this); } diff --git a/Source/cm_thread.hxx b/Source/cm_thread.hxx index ec5fe1d8fe..84e6a5c326 100644 --- a/Source/cm_thread.hxx +++ b/Source/cm_thread.hxx @@ -7,34 +7,6 @@ #include "cm_uv.h" namespace cm { -class mutex -{ - CM_DISABLE_COPY(mutex) - uv_mutex_t _M_; - -public: - mutex() { uv_mutex_init(&_M_); } - ~mutex() { uv_mutex_destroy(&_M_); } - - void lock() { uv_mutex_lock(&_M_); } - - void unlock() { uv_mutex_unlock(&_M_); } -}; - -template -class lock_guard -{ - T& _mutex; - CM_DISABLE_COPY(lock_guard) - -public: - lock_guard(T& m) - : _mutex(m) - { - _mutex.lock(); - } - ~lock_guard() { _mutex.unlock(); } -}; class shared_mutex { @@ -68,17 +40,5 @@ public: } ~shared_lock() { _mutex.unlock_shared(); } }; - -template -class unique_lock : public lock_guard -{ - CM_DISABLE_COPY(unique_lock) - -public: - unique_lock(T& m) - : lock_guard(m) - { - } -}; } #endif