From 617d559511d09864583fbf55ee3341b3b0f89fc8 Mon Sep 17 00:00:00 2001 From: Leonardo Santagada Date: Sat, 18 Jun 2022 19:00:11 +0200 Subject: [PATCH] Move from critical section to SRWLocks SRWLocks are smaller (8b vs 40b for critical section) and faster to lock/unlock --- TheForceEngine/TFE_System/Threads/Win32/mutexWin32.cpp | 8 ++++---- TheForceEngine/TFE_System/Threads/Win32/mutexWin32.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) 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; };