//
//  Copyright (c) 2001, Reson, Inc. All Rights Reserved.
//
//  Filename:   CCritical.cpp
//
//  Project:    6046.
//
//  Author(s):  W. Arcus
//
//  Purpose:    Implementation file for critical section wrapper class.
//
//  Notes:
//

#include "StdAfx.h"
#include "Critical.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// CCritical class implementation.

CCritical::CCritical( void )
{
    ManageDllState_m();

    ::InitializeCriticalSection( &m_sCriticalSection );
}

CCritical::~CCritical( void )
{
    ManageDllState_m();

    ::DeleteCriticalSection( &m_sCriticalSection );
}

void CCritical::Enter( void )
{
    ManageDllState_m();

    ::EnterCriticalSection( &m_sCriticalSection );
}

void CCritical::Leave( void )
{
    ManageDllState_m();

    ::LeaveCriticalSection( &m_sCriticalSection );
}

