1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00
DDrawCompat/DDrawCompat/Common/ScopedCriticalSection.h

39 lines
500 B
C++

#pragma once
#include <Windows.h>
namespace Compat
{
class CriticalSection : public CRITICAL_SECTION
{
public:
CriticalSection()
{
InitializeCriticalSection(this);
}
~CriticalSection()
{
DeleteCriticalSection(this);
}
};
class ScopedCriticalSection
{
public:
ScopedCriticalSection(CRITICAL_SECTION& cs)
: m_cs(cs)
{
EnterCriticalSection(&m_cs);
}
~ScopedCriticalSection()
{
LeaveCriticalSection(&m_cs);
}
private:
CRITICAL_SECTION& m_cs;
};
};