|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
Control block used to manage each mutex. More...
#include <coremutex.h>

Data Fields | |
| Thread_queue_Control | Wait_queue |
| This field is the Waiting Queue used to manage the set of tasks which are blocked waiting to lock the mutex. | |
| CORE_mutex_Attributes | Attributes |
| This element is the set of attributes which define this instance's behavior. | |
| uint32_t | lock |
| This element contains the current state of the mutex. | |
| uint32_t | nest_count |
| This element contains the number of times the mutex has been acquired nested. | |
| uint32_t | blocked_count |
| This is the number of waiting threads. | |
| Thread_Control * | holder |
| This element points to the thread which is currently holding this mutex. | |
| Objects_Id | holder_id |
| This element contains the object Id of the holding thread. | |
Control block used to manage each mutex.
The following defines the control block used to manage each mutex.
| uint32_t CORE_mutex_Control::blocked_count |
This is the number of waiting threads.
This element points to the thread which is currently holding this mutex.
The holder is the last thread to successfully lock the mutex and which has not unlocked it. If the thread is not locked, there is no holder.
Referenced by _CORE_mutex_Seize_interrupt_trylock_body().
This element contains the object Id of the holding thread.
Referenced by _CORE_mutex_Seize_interrupt_trylock_body().
| uint32_t CORE_mutex_Control::nest_count |
This element contains the number of times the mutex has been acquired nested.
This must be zero (0) before the mutex is actually unlocked.
Referenced by _CORE_mutex_Seize_interrupt_trylock_body().
1.7.5