Orocos Real-Time Toolkit  2.5.0
Public Member Functions | Protected Attributes
RTT::os::Condition Class Reference

An object oriented wrapper around a condition variable. More...

#include <rtt/os/Condition.hpp>

List of all members.

Public Member Functions

 Condition ()
 Initialize a Condition.
 ~Condition ()
 Destroy a Condition.
bool wait (Mutex &m)
 Wait forever until a condition occurs.
template<class Predicate >
bool wait (Mutex &m, Predicate &p)
 Wait forever until a condition occurs.
void broadcast ()
 Wake all threads that are blocking in wait() or wait_until().
bool wait_until (Mutex &m, nsecs abs_time)
 Wait for this condition, but don't wait longer for it than the specified absolute time.

Protected Attributes

rt_cond_t c

Detailed Description

An object oriented wrapper around a condition variable.

See also:
Mutex, MutexRecursive

Definition at line 60 of file Condition.hpp.


Constructor & Destructor Documentation

Destroy a Condition.

If the Condition is still locked, the RTOS will not be asked to clean up its resources.

Definition at line 79 of file Condition.hpp.


Member Function Documentation

bool RTT::os::Condition::wait ( Mutex m) [inline]

Wait forever until a condition occurs.

Parameters:
mThe mutex you hold locked when calling this function.
Returns:
false if the waiting failed. This can only be caused by the OS aborting the waiting.

Definition at line 90 of file Condition.hpp.

Referenced by RTT::ExecutionEngine::waitAndProcessFunctions(), RTT::ExecutionEngine::waitAndProcessMessages(), and RTT::ExecutionEngine::waitForMessagesInternal().

template<class Predicate >
bool RTT::os::Condition::wait ( Mutex m,
Predicate &  p 
) [inline]

Wait forever until a condition occurs.

Parameters:
mThe mutex you hold locked when calling this function.
pA function object returning a boolean
Returns:
false if the waiting failed. This can only be caused by the OS aborting the waiting. Returns true when p() has been true.

Definition at line 104 of file Condition.hpp.

bool RTT::os::Condition::wait_until ( Mutex m,
nsecs  abs_time 
) [inline]

Wait for this condition, but don't wait longer for it than the specified absolute time.

Parameters:
mThe mutex you hold locked when calling this function.
abs_timeThe absolute time to wait until before the condition happens. Use rtos_get_time_ns() to get the current time and Seconds_to_nsecs to add a certain amount to the result.
Returns:
true when the condition occured, false in case the timeout happened.

Definition at line 129 of file Condition.hpp.


The documentation for this class was generated from the following file: