Sha256: dca3cd52ffa16129258f14e6fa23bc1290751c25b8c51d37f6640ad8942f5f51
Contents?: true
Size: 652 Bytes
Versions: 14
Compression:
Stored size: 652 Bytes
Contents
#pragma once #define LOCKFUNCTION Lock LocalLock(&m_CriticalSect) class CCriticalSect { public: CCriticalSect(void); ~CCriticalSect(void); void Enter(){EnterCriticalSection(&m_CritSect);}; void Leave(){LeaveCriticalSection(&m_CritSect);}; private: CRITICAL_SECTION m_CritSect; }; class Lock { public: Lock(CCriticalSect *pCritSect); ~Lock(void); private: CCriticalSect *m_pCritSect; }; class Lockable { public: Lockable(void); ~Lockable(void); void LockObj(){m_CriticalSect.Enter();}; void UnlockObj(){m_CriticalSect.Leave();}; CCriticalSect *GetCriticalSect(){return &m_CriticalSect;}; protected: CCriticalSect m_CriticalSect; };
Version data entries
14 entries across 14 versions & 1 rubygems