15 #ifndef MUTEXPOSIXIMPL_H
16 #define MUTEXPOSIXIMPL_H
18 #include "dtoolbase.h"
19 #include "selectThreadImpl.h"
21 #ifdef HAVE_POSIX_THREADS
31 class EXPCL_DTOOL MutexPosixImpl {
33 INLINE MutexPosixImpl();
34 INLINE ~MutexPosixImpl();
36 INLINE
void acquire();
37 INLINE
bool try_acquire();
38 INLINE
void release();
40 INLINE pthread_mutex_t *get_posix_lock();
43 pthread_mutex_t _lock;
44 friend class ConditionVarPosixImpl;
51 class EXPCL_DTOOL ReMutexPosixImpl {
53 INLINE ReMutexPosixImpl();
54 INLINE ~ReMutexPosixImpl();
56 INLINE
void acquire();
57 INLINE
bool try_acquire();
58 INLINE
void release();
60 INLINE pthread_mutex_t *get_posix_lock();
63 pthread_mutex_t _lock;
66 #include "mutexPosixImpl.I"
68 #endif // HAVE_POSIX_THREADS