14 #ifndef MUTEXPOSIXIMPL_H 15 #define MUTEXPOSIXIMPL_H 20 #ifdef HAVE_POSIX_THREADS 29 class EXPCL_DTOOL_DTOOLBASE MutexPosixImpl {
31 constexpr MutexPosixImpl() noexcept;
32 MutexPosixImpl(const MutexPosixImpl ©) = delete;
33 INLINE ~MutexPosixImpl();
35 MutexPosixImpl &operator = (const MutexPosixImpl ©) = delete;
39 INLINE
bool try_lock();
43 pthread_mutex_t _lock;
44 friend class ConditionVarPosixImpl;
50 class EXPCL_DTOOL_DTOOLBASE ReMutexPosixImpl {
52 #ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 53 constexpr ReMutexPosixImpl() noexcept;
55 INLINE ReMutexPosixImpl();
57 ReMutexPosixImpl(
const ReMutexPosixImpl ©) =
delete;
58 INLINE ~ReMutexPosixImpl();
60 ReMutexPosixImpl &operator = (
const ReMutexPosixImpl ©) =
delete;
64 INLINE
bool try_lock();
68 pthread_mutex_t _lock;
73 #endif // HAVE_POSIX_THREADS PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.