8#ifndef INCLUDED_BSLMT_CONDITIONIMPL_PTHREAD
9#define INCLUDED_BSLMT_CONDITIONIMPL_PTHREAD
84#include <bslscm_version.h>
93#ifdef BSLMT_PLATFORM_POSIX_THREADS
98#include <bsl_c_errno.h>
105template <
class THREAD_POLICY>
116class ConditionImpl<Platform::PosixThreads> {
119 pthread_cond_t d_cond;
125 ConditionImpl(
const ConditionImpl&);
126 ConditionImpl& operator=(
const ConditionImpl&);
132 enum { e_TIMED_OUT = -1 };
192 int wait(Mutex *mutex);
210ConditionImpl<bslmt::Platform::PosixThreads>::~ConditionImpl()
212 pthread_cond_destroy(&d_cond);
217void ConditionImpl<bslmt::Platform::PosixThreads>::broadcast()
219 pthread_cond_broadcast(&d_cond);
223void ConditionImpl<bslmt::Platform::PosixThreads>::signal()
225 pthread_cond_signal(&d_cond);
229int ConditionImpl<bslmt::Platform::PosixThreads>::wait(Mutex *mutex)
231 return pthread_cond_wait(&d_cond, &mutex->nativeMutex());
237ConditionImpl<bslmt::Platform::PosixThreads>::clockType()
const
Definition bsls_timeinterval.h:301
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bslmt_barrier.h:344
Enum
Definition bsls_systemclocktype.h:117
@ e_REALTIME
Definition bsls_systemclocktype.h:120