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;
123 TimedSemaphoreImpl(
const TimedSemaphoreImpl&);
124 TimedSemaphoreImpl& operator=(
const TimedSemaphoreImpl&);
141 enum { e_TIMED_OUT = 1 };
166 TimedSemaphoreImpl(
int count,
171 ~TimedSemaphoreImpl();
182 void post(
int number);
Definition bsls_atomic.h:744
Definition bsls_timeinterval.h:307
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bslmt_barrier.h:344
Enum
Definition bsls_systemclocktype.h:119
@ e_REALTIME
Definition bsls_systemclocktype.h:122