RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions
Mutex Handler

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.
 

Detailed Description

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.

Function Documentation

◆ _CORE_mutex_Seize_slow()

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.

Parameters
[in,out]the_mutexThe mutex to seize.
operationsThe thread queue operations.
executingThe calling thread.
waitIndicates whether the calling thread is willing to wait.
queue_contextThe thread queue context.
Return values
_Thread_Wait_get_statusThe status of the executing thread.
STATUS_UNAVAILABLEThe calling thread is not willing to wait.