#include <thread.h>

Public Member Functions | |
| Conditional (const char *id=NULL) | |
| Create an instance of a conditional. | |
| virtual | ~Conditional () |
| Destroy the conditional. | |
| void | signal (bool broadcast) |
| Signal a conditional object and a waiting threads. | |
| bool | wait (timeout_t timer=0, bool locked=false) |
| Wait to be signaled from another thread. | |
| void | enterMutex (void) |
| Locks the conditional's mutex for this thread. | |
| void | lock (void) |
| In the future we will use lock in place of enterMutex since the conditional composite is not a recursive mutex, and hence using enterMutex may cause confusion in expectation with the behavior of the Mutex class. | |
| bool | tryEnterMutex (void) |
| Tries to lock the conditional for the current thread. | |
| bool | test (void) |
| void | leaveMutex (void) |
| Leaving a mutex frees that mutex for use by another thread. | |
| void | unlock (void) |
Conditional variables may wait for and receive signals to notify when to resume or perform operations. Multiple waiting threads may be woken with a broadcast signal.
| ost::Conditional::Conditional | ( | const char * | id = NULL |
) |
Create an instance of a conditional.
| id | name of conditional, optional for deadlock testing. |
| virtual ost::Conditional::~Conditional | ( | ) | [virtual] |
Destroy the conditional.
| void ost::Conditional::signal | ( | bool | broadcast | ) |
Signal a conditional object and a waiting threads.
| broadcast | this signal to all waiting threads if true. |
| bool ost::Conditional::wait | ( | timeout_t | timer = 0, |
|
| bool | locked = false | |||
| ) |
Wait to be signaled from another thread.
| timer | time period to wait. | |
| locked | flag if already locked the mutex. |
| void ost::Conditional::enterMutex | ( | void | ) |
Locks the conditional's mutex for this thread.
Remember that Conditional's mutex is NOT a recursive mutex!
| void ost::Conditional::lock | ( | void | ) | [inline] |
In the future we will use lock in place of enterMutex since the conditional composite is not a recursive mutex, and hence using enterMutex may cause confusion in expectation with the behavior of the Mutex class.
| bool ost::Conditional::tryEnterMutex | ( | void | ) |
Tries to lock the conditional for the current thread.
Behaves like enterMutex , except that it doesn't block the calling thread.
| bool ost::Conditional::test | ( | void | ) | [inline] |
| void ost::Conditional::leaveMutex | ( | void | ) |
| void ost::Conditional::unlock | ( | void | ) | [inline] |
1.5.4