1: #line 786 "./lpsrc/flx_pthread.pak"
2:
3:
4:
5:
6:
7:
8: namespace flx { namespace pthread {
9:
10:
11:
12:
13: class PTHREAD_EXTERN flx_mutex_t {
14: flx_mutex_t(flx_mutex_t const&);
15: void operator=(flx_mutex_t const&);
16: public:
17: pthread_mutex_t m;
18: flx_mutex_t();
19: ~flx_mutex_t();
20: void lock();
21: void unlock();
22: };
23:
24: class PTHREAD_EXTERN flx_mutex_locker_t {
25: flx_mutex_t* p;
26: flx_mutex_locker_t(flx_mutex_locker_t const&);
27: void operator=(flx_mutex_locker_t const&);
28: public:
29: flx_mutex_locker_t(flx_mutex_t& pm);
30: ~flx_mutex_locker_t();
31: };
32:
33: }}
34:
35:
1: #line 822 "./lpsrc/flx_pthread.pak"
2:
3:
4:
5:
6: namespace flx { namespace pthread {
7: flx_mutex_t::flx_mutex_t(flx_mutex_t const&){}
8: void flx_mutex_t::operator=(flx_mutex_t const&){}
9:
10: flx_mutex_t::flx_mutex_t() { pthread_mutex_init(&m, NULL); }
11:
12: flx_mutex_t::~flx_mutex_t() { pthread_mutex_destroy(&m); }
13: void flx_mutex_t::lock() { pthread_mutex_lock(&m); }
14: void flx_mutex_t::unlock() { pthread_mutex_unlock(&m);}
15:
16: flx_mutex_locker_t::flx_mutex_locker_t(flx_mutex_locker_t const&){}
17: void flx_mutex_locker_t::operator=(flx_mutex_locker_t const&){}
18: flx_mutex_locker_t::flx_mutex_locker_t(flx_mutex_t& pm) : p(&pm) { p->lock(); }
19: flx_mutex_locker_t::~flx_mutex_locker_t() { p->unlock(); }
20:
21: }}
22: