8#ifndef INCLUDED_BSLMT_TIMEDSEMAPHOREIMPL_PTHREAD
9#define INCLUDED_BSLMT_TIMEDSEMAPHOREIMPL_PTHREAD
84#include <bslscm_version.h>
88#ifdef BSLMT_PLATFORM_POSIX_THREADS
102template <
class TIMED_SEMAPHORE_POLICY>
103class TimedSemaphoreImpl;
112class TimedSemaphoreImpl<Platform::PthreadTimedSemaphore> {
117 pthread_mutex_t d_lock;
118 pthread_cond_t d_condition;
122 TimedSemaphoreImpl(
const TimedSemaphoreImpl&);
123 TimedSemaphoreImpl& operator=(
const TimedSemaphoreImpl&);
140 enum { e_TIMED_OUT = 1 };
165 TimedSemaphoreImpl(
int count,
170 ~TimedSemaphoreImpl();
180 void post(
int number);
Definition bsls_atomic.h:743
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