14#ifndef MUTEXPOSIXIMPL_H
15#define MUTEXPOSIXIMPL_H
20#ifdef HAVE_POSIX_THREADS
29class 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 = PTHREAD_MUTEX_INITIALIZER;
44 friend class ConditionVarPosixImpl;
50class 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;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.