Orocos Real-Time Toolkit
2.9.0
|
An object oriented wrapper around a non recursive mutex. More...
#include <rtt/os/Mutex.hpp>
Public Member Functions | |
Mutex () | |
Initialize a Mutex. More... | |
virtual | ~Mutex () |
Destroy a Mutex. More... | |
virtual void | lock () |
virtual void | unlock () |
virtual bool | trylock () |
Try to lock this mutex. More... | |
virtual bool | timedlock (Seconds s) |
Lock this mutex, but don't wait longer for the lock than the specified timeout. More... | |
virtual void | lock_shared () |
virtual void | unlock_shared () |
virtual bool | trylock_shared () |
virtual bool | timedlock_shared (Seconds) |
Protected Attributes | |
rt_mutex_t | m |
Friends | |
class | Condition |
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.
|
inline |
|
inlinevirtual |
Destroy a Mutex.
If the Mutex is still locked, the RTOS will not be asked to clean up its resources.
Definition at line 112 of file Mutex.hpp.
References rtos_mutex_destroy().
|
inlinevirtual |
Implements RTT::os::MutexInterface.
Definition at line 120 of file Mutex.hpp.
References rtos_mutex_lock().
Referenced by timedlock().
|
inlinevirtualinherited |
Reimplemented in RTT::os::SharedMutex.
Definition at line 75 of file Mutex.hpp.
Referenced by RTT::os::SharedMutexLock::SharedMutexLock().
|
inlinevirtual |
Lock this mutex, but don't wait longer for the lock than the specified timeout.
s | The maximum time to wait before aqcuiring the lock. |
Implements RTT::os::MutexInterface.
Definition at line 149 of file Mutex.hpp.
References lock(), rtos_mutex_trylock_for(), and RTT::Seconds_to_nsecs().
|
inlinevirtualinherited |
Reimplemented in RTT::os::SharedMutex.
|
inlinevirtual |
Try to lock this mutex.
Implements RTT::os::MutexInterface.
Definition at line 135 of file Mutex.hpp.
References rtos_mutex_trylock().
|
inlinevirtualinherited |
Reimplemented in RTT::os::SharedMutex.
|
inlinevirtual |
Implements RTT::os::MutexInterface.
Definition at line 125 of file Mutex.hpp.
References rtos_mutex_unlock().
|
inlinevirtualinherited |
Reimplemented in RTT::os::SharedMutex.
|
protected |
Definition at line 97 of file Mutex.hpp.
Referenced by RTT::os::Condition::wait(), and RTT::os::Condition::wait_until().