pthread_mutex.hpp

00001 #line 786 "./lpsrc/flx_pthread.pak"
00002 #ifndef __FLX_PTHREAD_MUTEX_H__
00003 #define __FLX_PTHREAD_MUTEX_H__
00004 #include "flx_pthread_config.hpp"
00005 
00006 #include "pthread_win_posix_condv_emul.hpp"
00007 
00008 namespace flx { namespace pthread {
00009 
00010 // ********************************************************
00011 /// Mutex.
00012 // ********************************************************
00013 class PTHREAD_EXTERN flx_mutex_t {
00014   flx_mutex_t(flx_mutex_t const&); // uncopyable
00015   void operator=(flx_mutex_t const&); // uncopyable
00016 public:
00017   pthread_mutex_t m;        // be nice, don't touch
00018   flx_mutex_t();
00019   ~flx_mutex_t();
00020   void lock();
00021   void unlock();
00022 };
00023 
00024 class PTHREAD_EXTERN flx_mutex_locker_t {
00025   flx_mutex_t* p;
00026   flx_mutex_locker_t(flx_mutex_locker_t const&); // uncopyable
00027   void operator=(flx_mutex_locker_t const&); // uncopyable
00028 public:
00029   flx_mutex_locker_t(flx_mutex_t& pm);
00030   ~flx_mutex_locker_t();
00031 };
00032 
00033 }} // namespace pthread, flx
00034 #endif
00035 

Generated on Sat Nov 24 19:59:41 2007 for Felix by  doxygen 1.5.3-20071008