2014-07-06 19:54:47 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
|
|
class SimpleLock
|
|
|
|
{
|
|
|
|
private:
|
2015-07-11 10:01:06 -04:00
|
|
|
uint32_t _holderThreadID;
|
2014-07-09 18:29:07 -04:00
|
|
|
uint32_t _lockCount;
|
2014-07-06 19:54:47 -04:00
|
|
|
atomic_flag _lock;
|
|
|
|
|
2015-08-28 21:01:18 -04:00
|
|
|
uint32_t GetThreadId();
|
|
|
|
|
2014-07-06 19:54:47 -04:00
|
|
|
public:
|
2015-07-01 23:17:14 -04:00
|
|
|
SimpleLock();
|
|
|
|
~SimpleLock();
|
|
|
|
void Acquire();
|
|
|
|
bool IsFree();
|
|
|
|
void WaitForRelease();
|
|
|
|
void Release();
|
2014-07-09 18:29:07 -04:00
|
|
|
};
|
|
|
|
|