forked from metin2/server
28 lines
350 B
C
28 lines
350 B
C
|
// vim:ts=8 sw=4
|
||
|
#ifndef __INC_LOCK_H__
|
||
|
#define __INC_LOCK_H__
|
||
|
|
||
|
#ifdef __WIN32__
|
||
|
typedef CRITICAL_SECTION lock_t;
|
||
|
#else
|
||
|
typedef pthread_mutex_t lock_t;
|
||
|
#endif
|
||
|
|
||
|
class CLock
|
||
|
{
|
||
|
public:
|
||
|
CLock();
|
||
|
~CLock();
|
||
|
|
||
|
void Initialize();
|
||
|
void Destroy();
|
||
|
int Trylock();
|
||
|
void Lock();
|
||
|
void Unlock();
|
||
|
|
||
|
private:
|
||
|
lock_t m_lock;
|
||
|
bool m_bLocked;
|
||
|
};
|
||
|
#endif
|