mirror of https://github.com/x64dbg/TitanEngine
fixed CriticalSectionLocker (thanks to Nukem)
This commit is contained in:
parent
29f8973700
commit
f04f96e83d
|
|
@ -30,20 +30,25 @@ CriticalSectionLocker::CriticalSectionLocker(CriticalSectionLock lock)
|
|||
{
|
||||
CriticalSectionInitializeLocks(); //initialize critical sections
|
||||
gLock = lock;
|
||||
|
||||
EnterCriticalSection(&locks[gLock]);
|
||||
Locked = true;
|
||||
}
|
||||
|
||||
CriticalSectionLocker::~CriticalSectionLocker()
|
||||
{
|
||||
LeaveCriticalSection(&locks[gLock]);
|
||||
if(Locked)
|
||||
LeaveCriticalSection(&locks[gLock]);
|
||||
}
|
||||
|
||||
void CriticalSectionLocker::unlock()
|
||||
{
|
||||
Locked = false;
|
||||
LeaveCriticalSection(&locks[gLock]);
|
||||
}
|
||||
|
||||
void CriticalSectionLocker::relock()
|
||||
{
|
||||
EnterCriticalSection(&locks[gLock]);
|
||||
Locked = true;
|
||||
}
|
||||
|
|
@ -25,6 +25,7 @@ public:
|
|||
|
||||
private:
|
||||
CriticalSectionLock gLock;
|
||||
bool Locked;
|
||||
};
|
||||
|
||||
#endif //_GLOBAL_ENGINE_THREADING_H
|
||||
Loading…
Reference in New Issue