// Common, group WinWrap
// see CW Critical Sections
// Copyright Alexander Liss
#include "critical.h"
CriticalSection::CriticalSection()
{
::InitializeCriticalSection( &critical_section);
}
CriticalSection::~CriticalSection()
{
::DeleteCriticalSection( &critical_section);
}
void CriticalSection::enter()
{
::EnterCriticalSection( &critical_section);
}
void CriticalSection::leave()
{
::LeaveCriticalSection( &critical_section);
}
#if(_WIN32_WINNT >= 0x0400)
BOOL CriticalSection::try_enter()
{
return ::TryEnterCriticalSection( &critical_section);
}
#endif
CRITICAL_SECTION *CriticalSection::get()
{
return &critical_section;
}