|
ucommon
|
The conditional is a common base for other thread synchronizing classes. More...
#include <thread.h>

Static Public Member Functions | |
| static void | gettimeout (timeout_t timeout, struct timespec *hires) |
| Convert a millisecond timeout into use for high resolution conditional timers. | |
| static pthread_condattr_t * | initializer (void) |
| Support function for getting conditional attributes for realtime scheduling. | |
Protected Member Functions | |
| void | broadcast (void) |
| Signal the conditional to release all waiting threads. | |
| Conditional () | |
| Initialize and construct conditional. | |
| void | lock (void) |
| Lock the conditional's supporting mutex. | |
| void | signal (void) |
| Signal the conditional to release one waiting thread. | |
| void | unlock (void) |
| Unlock the conditional's supporting mutex. | |
| bool | wait (timeout_t timeout) |
| Conditional wait for signal on millisecond timeout. | |
| bool | wait (struct timespec *timeout) |
| Conditional wait for signal on timespec timeout. | |
| void | wait (void) |
| Wait (block) until signalled. | |
| ~Conditional () | |
| Destroy conditional, release any blocked threads. | |
Friends | |
| class | ConditionalAccess |
| class | TimedEvent |
The conditional is a common base for other thread synchronizing classes.
Many of the complex sychronization objects, including barriers, semaphores, and various forms of read/write locks are all built from the conditional. This assures that the minimum functionality to build higher order thread synchronizing objects is a pure conditional, and removes dependencies on what may be optional features or functions that may have different behaviors on different pthread implimentations and platforms.
| static void ucommon::Conditional::gettimeout | ( | timeout_t | timeout, |
| struct timespec * | hires | ||
| ) | [static] |
Convert a millisecond timeout into use for high resolution conditional timers.
| timeout | to convert. |
| hires | timespec representation to fill. |
Reimplemented in ucommon::ConditionalAccess.
| static pthread_condattr_t* ucommon::Conditional::initializer | ( | void | ) | [inline, static] |
| bool ucommon::Conditional::wait | ( | timeout_t | timeout | ) | [protected] |
Conditional wait for signal on millisecond timeout.
| timeout | in milliseconds. |
Reimplemented in ucommon::Semaphore, and ucommon::barrier.
| bool ucommon::Conditional::wait | ( | struct timespec * | timeout | ) | [protected] |
Conditional wait for signal on timespec timeout.
| timeout | as a high resolution timespec. |
1.7.6.1