diff --git a/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.cpp b/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.cpp index 9ac0fe4f5..21334a28e 100644 --- a/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.cpp +++ b/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.cpp @@ -2,23 +2,23 @@ MutexWin32::MutexWin32() : Mutex() { - InitializeCriticalSection(&C); + InitializeSRWLock(&C); } MutexWin32::~MutexWin32() { - DeleteCriticalSection(&C); + } s32 MutexWin32::lock() { - EnterCriticalSection(&C); + AcquireSRWLockExclusive(&C); return 0; } s32 MutexWin32::unlock() { - LeaveCriticalSection(&C); + ReleaseSRWLockExclusive(&C); return 0; } diff --git a/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.h b/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.h index 0be077b3d..028f5b18a 100644 --- a/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.h +++ b/TheForceEngine/TFE_System/Threads/Win32/mutexWin32.h @@ -12,5 +12,5 @@ class MutexWin32 : public Mutex virtual s32 unlock(); private: - mutable CRITICAL_SECTION C; + SRWLOCK C; };