Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1997
//
// File: critsec.hxx
//
// Contents: Critical section Object
//
// History: 04-30-97 Sophiac Created.
//
//----------------------------------------------------------------------------
#ifndef __WIN32_CRITSEC_HXX__
#define __WIN32_CRITSEC_HXX__
class WIN32_CRITSEC {
CRITICAL_SECTION CriticalSection;
public:
inline WIN32_CRITSEC( );
inline ~WIN32_CRITSEC( );
void inline Enter( );
void inline Leave( ); };
WIN32_CRITSEC::WIN32_CRITSEC( ) { INITIALIZE_CRITICAL_SECTION(&CriticalSection); }
WIN32_CRITSEC::~WIN32_CRITSEC( ) { DeleteCriticalSection(&CriticalSection); }
void WIN32_CRITSEC::Enter( ) { EnterCriticalSection(&CriticalSection); }
void WIN32_CRITSEC::Leave( ) { LeaveCriticalSection(&CriticalSection); }
extern WIN32_CRITSEC * g_pGlobalLock;
class CLock { WIN32_CRITSEC * Critsec;
public: CLock(WIN32_CRITSEC *pCritsec = g_pGlobalLock) : Critsec(pCritsec) { Critsec->Enter(); } ~CLock() { Critsec->Leave(); } }; #endif
|