Recursive mutex attributes. More...
#include <cmsis-plus/rtos/os.h>
Inheritance diagram for os::rtos::mutex::attributes_recursive:Public Member Functions | |
Constructors & Destructor | |
| constexpr | attributes_recursive () |
| Construct a recursive mutex attributes object instance. | |
| attributes_recursive (const attributes_recursive &)=default | |
| attributes_recursive (attributes_recursive &&)=default | |
| attributes_recursive & | operator= (const attributes_recursive &)=default |
| attributes_recursive & | operator= (attributes_recursive &&)=default |
| ~attributes_recursive ()=default | |
| Destruct the recursive mutex attributes object instance. | |
Public Attributes | |
Public Member Variables | |
| thread::priority_t | mx_priority_ceiling = thread::priority::highest |
| Attribute with the mutex priority ceiling. | |
| protocol_t | mx_protocol = protocol::default_ |
| Attribute with the mutex protocol. | |
| robustness_t | mx_robustness = robustness::stalled |
| Attribute with the mutex robustness. | |
| type_t | mx_type = type::default_ |
| Attribute with the mutex type. | |
| count_t | mx_max_count = max_count |
| Attribute with the mutex maximum recursive count. | |
Public Member Variables | |
| rtos::clock * | clock = nullptr |
| Attribute with the address of the clock to be used for timeouts. | |
Allow to assign a name and custom attributes (like priority ceiling, robustness, etc) to the mutex.
pthread_mutexattr_t from <pthread.h> (IEEE Std 1003.1, 2013 Edition). Definition at line 301 of file os-mutex.h.
|
constexpr |
Definition at line 799 of file os-mutex.h.
|
default |
|
default |
|
default |
|
default |
|
default |
|
inherited |
It may be one of os::rtos::sysclock, os::rtos::rtclock, or any other user object derived from class os::rtos::clock.
If nullptr, the default clock is os::rtos::sysclock.
Definition at line 612 of file os-decls.h.
Referenced by os::rtos::event_flags::event_flags(), os::rtos::mutex::mutex(), and os::rtos::timer::timer().
|
inherited |
The mx_max_count attribute defines the upper limit of recursion for a recursive mutex. Further attempts to lock the mutex will result in EAGAIN.
Definition at line 278 of file os-mutex.h.
|
inherited |
The mx_priority_ceiling attribute defines the priority ceiling of initialised mutexes, which is the minimum priority level at which the critical section guarded by the mutex is executed. In order to avoid priority inversion, the priority ceiling of the mutex shall be set to a priority higher than or equal to the highest priority of all the threads that may lock that mutex. The values of mx_priority_ceiling are within the maximum range of priorities defined under the SCHED_FIFO scheduling policy.
pthread_mutexattr_setprioceiling() from <pthread.h> (IEEE Std 1003.1, 2013 Edition). Definition at line 258 of file os-mutex.h.
Referenced by os::rtos::mutex::mutex().
|
inherited |
The default value of this attribute shall be mutex::protocol::inherit.
pthread_mutexattr_setprotocol() from <pthread.h> (IEEE Std 1003.1, 2013 Edition). mutex::protocol::none. Definition at line 263 of file os-mutex.h.
Referenced by osMutexCreate().
|
inherited |
The default value of this attribute shall be mutex::robustness::stalled.
pthread_mutexattr_setrobust() from <pthread.h> (IEEE Std 1003.1, 2013 Edition). Definition at line 268 of file os-mutex.h.
|
inherited |
The default value of this attribute shall be mutex::type::default_.
pthread_mutexattr_settype() from <pthread.h> (IEEE Std 1003.1, 2013 Edition). Definition at line 273 of file os-mutex.h.
Referenced by osMutexCreate().