Quick Links:

bal | bbl | bdl | bsl

Component bslmt_timedsemaphoreimpl_posixadv
[Package bslmt]

Provide "advanced" POSIX implementation of bslmt::TimedSemaphore. More...

Outline
Purpose:
Provide "advanced" POSIX implementation of bslmt::TimedSemaphore.
Classes:
bslmt::TimedSemaphoreImpl<PosixAdvTimedSemaphore> POSIXa specialization
See also:
Component bslmt_timedsemaphore
Description:
This component provides an implementation of bslmt::TimedSemaphore, bslmt::TimedSemaphoreImpl<PosixAdvTimedSemaphore>, for conforming POSIX platforms via the template specialization:
  bslmt::TimedSemaphoreImpl<Platform::PosixAdvTimedSemaphore>
This template class should not be used (directly) by client code. Clients should instead use bslmt::TimedSemaphore.
This implementation of bslmt::TimedSemaphore is preferred over that defined in bslmt_timedsemaphoreimpl_pthread on platforms that support advanced realtime POSIX extensions (e.g., sem_timedwait).
Supported Clock-Types:
bsls::SystemClockType supplies the enumeration indicating the system clock on which timeouts supplied to other methods should be based. If the clock type indicated at construction is bsls::SystemClockType::e_REALTIME, the absTime argument passed to the timedWait method should be expressed as an absolute offset since 00:00:00 UTC, January 1, 1970 (which matches the epoch used in bsls::SystemTime::now(bsls::SystemClockType::e_REALTIME). If the clock type indicated at construction is bsls::SystemClockType::e_MONOTONIC, the absTime argument passed to the timedWait method should be expressed as an absolute offset since the epoch of this clock (which matches the epoch used in bsls::SystemTime::now(bsls::SystemClockType::e_MONOTONIC).
Usage:
This component is an implementation detail of bslmt and is not intended for direct client use. It is subject to change without notice. As such, a usage example is not provided.