6#include "Misc/Timespan.h"
7#include "HAL/PlatformMemory.h"
12
13
14
22
23
32
33
40
41
48
49
50
51
62
63
71
72
87
88
89
90
105
106
107
108
122 checkf(!IsLocked(), TEXT(
"Destroying a lock that is still held!"));
#define checkf(expr, format,...)
#define CA_SUPPRESS(WarningNumber)
FWindowsCriticalSection FCriticalSection
FWindowsSystemWideCriticalSection FSystemWideCriticalSection
FORCEINLINE void Unlock()
FORCEINLINE bool TryLock()
Windows::CRITICAL_SECTION CriticalSection
FORCEINLINE ~FWindowsCriticalSection()
FORCEINLINE FWindowsCriticalSection()
FWindowsCriticalSection & operator=(const FWindowsCriticalSection &)=delete
FWindowsCriticalSection(const FWindowsCriticalSection &)=delete
FWindowsRWLock & operator=(const FWindowsRWLock &)=delete
FORCEINLINE void WriteLock()
FORCEINLINE void ReadLock()
FORCEINLINE bool TryWriteLock()
FWindowsRWLock(const FWindowsRWLock &)=delete
FORCEINLINE void WriteUnlock()
FORCEINLINE void ReadUnlock()
FORCEINLINE bool TryReadLock()
FORCEINLINE FWindowsRWLock(uint32 Level=0)
FWindowsSystemWideCriticalSection & operator=(const FWindowsSystemWideCriticalSection &)
~FWindowsSystemWideCriticalSection()
FWindowsSystemWideCriticalSection(const FWindowsSystemWideCriticalSection &)
FWindowsSystemWideCriticalSection(const class FString &InName, FTimespan InTimeout=FTimespan::Zero())
FORCEINLINE void WINAPI ReleaseSRWLockExclusive(SRWLOCK *SRWLock)
FORCEINLINE BOOLEAN WINAPI TryAcquireSRWLockExclusive(SRWLOCK *SRWLock)
FORCEINLINE void WINAPI AcquireSRWLockShared(SRWLOCK *SRWLock)
FORCEINLINE void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCriticalSection)
FORCEINLINE BOOLEAN WINAPI TryAcquireSRWLockShared(SRWLOCK *SRWLock)
FORCEINLINE void WINAPI InitializeSRWLock(SRWLOCK *SRWLock)
FORCEINLINE void WINAPI ReleaseSRWLockShared(SRWLOCK *SRWLock)
FORCEINLINE void WINAPI AcquireSRWLockExclusive(SRWLOCK *SRWLock)
FORCEINLINE DWORD WINAPI SetCriticalSectionSpinCount(CRITICAL_SECTION *lpCriticalSection, DWORD dwSpinCount)
FORCEINLINE BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCriticalSection)
FORCEINLINE void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCriticalSection)
FORCEINLINE void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCriticalSection)
FORCEINLINE void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCriticalSection)