RTEMS 6.1-rc5
|
This group contains the Mutex Handler implementation. More...
Files | |
file | coremutex.h |
This header file provides interfaces of the Mutex Handler which are used by the implementation and the Application Configuration. | |
file | coremuteximpl.h |
This header file provides interfaces of the Mutex Handler which are only used by the implementation. | |
file | coremutexseize.c |
This source file contains the implementation of _CORE_mutex_Seize_slow(). | |
Data Structures | |
struct | CORE_mutex_Control |
Control block used to manage each mutex. More... | |
struct | CORE_recursive_mutex_Control |
The recursive mutex control. More... | |
struct | CORE_ceiling_mutex_Control |
The recursive mutex control with priority ceiling protocol support. More... | |
Macros | |
#define | CORE_MUTEX_TQ_OPERATIONS &_Thread_queue_Operations_priority |
#define | CORE_MUTEX_TQ_PRIORITY_INHERIT_OPERATIONS &_Thread_queue_Operations_priority_inherit |
Functions | |
Status_Control | _CORE_mutex_Seize_slow (CORE_mutex_Control *the_mutex, const Thread_queue_Operations *operations, Thread_Control *executing, bool wait, Thread_queue_Context *queue_context) |
Seize the mutex slowly. | |
This group contains the Mutex Handler implementation.
This handler encapsulates functionality which provides the foundation Mutex services used in all of the APIs supported by RTEMS. A mutex is an enhanced version of the standard Dijkstra binary semaphore used to provide synchronization and mutual exclusion capabilities.
Status_Control _CORE_mutex_Seize_slow | ( | CORE_mutex_Control * | the_mutex, |
const Thread_queue_Operations * | operations, | ||
Thread_Control * | executing, | ||
bool | wait, | ||
Thread_queue_Context * | queue_context | ||
) |
Seize the mutex slowly.
[in,out] | the_mutex | The mutex to seize. |
operations | The thread queue operations. | |
executing | The calling thread. | |
wait | Indicates whether the calling thread is willing to wait. | |
queue_context | The thread queue context. |
_Thread_Wait_get_status | The status of the executing thread. |
STATUS_UNAVAILABLE | The calling thread is not willing to wait. |