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

An object oriented wrapper around a non recursive mutex. More...

#include <rtt/os/Mutex.hpp>

Inheritance diagram for RTT::os::Mutex:
RTT::os::MutexInterface

List of all members.

Public Member Functions

 Mutex ()
 Initialize a Mutex.
virtual ~Mutex ()
 Destroy a Mutex.
virtual void lock ()
virtual void unlock ()
virtual bool trylock ()
 Try to lock this mutex.
virtual bool timedlock (Seconds s)
 Lock this mutex, but don't wait longer for the lock than the specified timeout.

Protected Attributes

rt_mutex_t m

Friends

class Condition

Detailed Description

An object oriented wrapper around a non recursive mutex.

A mutex can only be unlock()'ed, by the thread which lock()'ed it. A trylock is a non blocking lock action which fails or succeeds.

Warning:
Mutex instances should only be created in soft realtime, since the initialisation of a mutex can not be done in hard realtime.
See also:
MutexLock, MutexTryLock, MutexTimedLock, MutexRecursive

Definition at line 82 of file Mutex.hpp.


Constructor & Destructor Documentation

virtual RTT::os::Mutex::~Mutex ( ) [inline, virtual]

Destroy a Mutex.

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

Definition at line 102 of file Mutex.hpp.


Member Function Documentation

virtual bool RTT::os::Mutex::timedlock ( Seconds  s) [inline, virtual]

Lock this mutex, but don't wait longer for the lock than the specified timeout.

Parameters:
sThe maximum time to wait before aqcuiring the lock.
Returns:
true when the locking succeeded, false otherwise

Implements RTT::os::MutexInterface.

Definition at line 139 of file Mutex.hpp.

virtual bool RTT::os::Mutex::trylock ( ) [inline, virtual]

Try to lock this mutex.

Returns:
true when the locking succeeded, false otherwise

Implements RTT::os::MutexInterface.

Definition at line 125 of file Mutex.hpp.


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