00001 /* **************************************************************** 00002 **************************************************************** 00003 * Com++ Professional (c) 2009 C++ World 00004 * http://www.cplusplusworld.com/ mailto:compp@cplusplusworld.com 00005 **************************************************************** 00006 **************************************************************** 00007 */ 00008 00009 #ifndef _GMUTEX_H 00010 #define _GMUTEX_H 00011 00012 00013 namespace compp { 00014 class Mutex { 00015 protected: 00016 pthread_mutex_t MutexId; 00017 00018 public: 00019 Mutex(); 00020 virtual ~Mutex(); 00021 bool Lock(); 00022 bool TryLock(); 00023 bool UnLock(); 00024 }; 00025 00026 00027 00028 class CriticalSection { 00029 public: 00030 CriticalSection ( Mutex & M ); 00031 virtual ~CriticalSection(); 00032 00033 protected: 00034 Mutex *mMutex; 00035 00036 }; 00037 00038 } 00039 00040 00041 #endif 00042
1.6.3