LiteLoaderBDS-1.16.40/LiteLoader/Kernel/Utils/CsLock.cpp
2022-09-21 19:47:03 +08:00

35 lines
631 B
C++

#include <Utils/CsLock.h>
CsLock::CsLock() {
if (!inited) {
inited = true;
InitializeCriticalSection(&cslock);
}
}
CsLock::~CsLock() {
if (inited)
DeleteCriticalSection(&cslock);
}
bool CsLock::tryLock() {
if (!inited) {
inited = true;
InitializeCriticalSection(&cslock);
}
return TryEnterCriticalSection(&cslock);
}
bool CsLock::lock() {
if (!inited) {
inited = true;
InitializeCriticalSection(&cslock);
}
EnterCriticalSection(&cslock);
return true;
}
bool CsLock::unlock() {
LeaveCriticalSection(&cslock);
return true;
}