From c302f5ae5f9e30a28e487e8a764d9cc31546bbea Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 29 Mar 2019 22:51:04 +0800 Subject: *rename --- source/libs/asura-lib-utils/threading/mutex.cpp | 106 ------------------------ 1 file changed, 106 deletions(-) delete mode 100644 source/libs/asura-lib-utils/threading/mutex.cpp (limited to 'source/libs/asura-lib-utils/threading/mutex.cpp') diff --git a/source/libs/asura-lib-utils/threading/mutex.cpp b/source/libs/asura-lib-utils/threading/mutex.cpp deleted file mode 100644 index 663ac28..0000000 --- a/source/libs/asura-lib-utils/threading/mutex.cpp +++ /dev/null @@ -1,106 +0,0 @@ -#include - -#include "mutex.h" - -namespace AsuraEngine -{ - namespace Threading - { - -#define try_create_mutex(impl)\ - if (!mImpl) \ - { \ - try \ - { \ - mImpl = new impl(); \ - } \ - catch (Exception& e) \ - { \ - mImpl = nullptr; \ - } \ - } - - Mutex::Mutex() - : mImpl(nullptr) - { -#if ASURA_MUTEX_WIN32_CRITICLE_SECTION - try_create_mutex(MutexImplWin32_CS); -#endif -#if ASURA_MUTEX_WIN32_KERNAL_MUTEX - try_create_mutex(MutexImplWin32_KM); -#endif - ASSERT(mImpl); - } - - Mutex::~Mutex() - { - delete mImpl; - } - - void Mutex::Lock() - { - ASSERT(mImpl); - - mImpl->Lock(); - } - - void Mutex::Unlock() - { - ASSERT(mImpl); - - mImpl->Unlock(); - } - -#if ASURA_MUTEX_WIN32_CRITICLE_SECTION - - MutexImplWin32_CS::MutexImplWin32_CS() - { - ::InitializeCriticalSection(&mMutex); - } - - MutexImplWin32_CS::~MutexImplWin32_CS() - { - ::DeleteCriticalSection(&mMutex); - } - - void MutexImplWin32_CS::Lock() - { - ::EnterCriticalSection(&mMutex); - } - - void MutexImplWin32_CS::Unlock() - { - ::LeaveCriticalSection(&mMutex); - } - -#endif // ASURA_MUTEX_WIN32_CRITICLE_SECTION - -#if ASURA_MUTEX_WIN32_KERNAL_MUTEX - - MutexImplWin32_KM::MutexImplWin32_KM() - { - mHandle = ::CreateMutex(NULL, FALSE, NULL); - if (!mHandle) - throw Exception("Cant use win32 mutex."); - } - - MutexImplWin32_KM::~MutexImplWin32_KM() - { - ::CloseHandle(mHandle); - mHandle = NULL; - } - - void MutexImplWin32_KM::Lock() - { - ::WaitForSingleObject(mHandle, INFINITE); - } - - void MutexImplWin32_KM::Unlock() - { - ::ReleaseMutex(mHandle); - } - -#endif // ASURA_MUTEX_WIN32_KERNAL_MUTEX - - } -} -- cgit v1.1-26-g67d0