RTEMS
|
CORE Mutex Implementation. More...
#include <rtems/score/coremutex.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/schedulerimpl.h>
#include <rtems/score/status.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/threadqimpl.h>
Go to the source code of this file.
Macros | |
#define | CORE_MUTEX_TQ_OPERATIONS &_Thread_queue_Operations_priority |
#define | CORE_MUTEX_TQ_PRIORITY_INHERIT_OPERATIONS &_Thread_queue_Operations_priority_inherit |
Functions | |
static __inline__ void | _CORE_mutex_Initialize (CORE_mutex_Control *the_mutex) |
Initializes the mutex. More... | |
static __inline__ void | _CORE_mutex_Destroy (CORE_mutex_Control *the_mutex) |
Destroys the mutex. More... | |
static __inline__ void | _CORE_mutex_Acquire_critical (CORE_mutex_Control *the_mutex, Thread_queue_Context *queue_context) |
Acquires the mutex critical. More... | |
static __inline__ void | _CORE_mutex_Release (CORE_mutex_Control *the_mutex, Thread_queue_Context *queue_context) |
Releases the mutex. More... | |
static __inline__ Thread_Control * | _CORE_mutex_Get_owner (const CORE_mutex_Control *the_mutex) |
Gets the owner of the mutex. More... | |
static __inline__ bool | _CORE_mutex_Is_locked (const CORE_mutex_Control *the_mutex) |
Checks if the mutex is locked. More... | |
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. More... | |
static __inline__ void | _CORE_mutex_Set_owner (CORE_mutex_Control *the_mutex, Thread_Control *owner) |
Sets the owner of the mutex. More... | |
static __inline__ bool | _CORE_mutex_Is_owner (const CORE_mutex_Control *the_mutex, const Thread_Control *the_thread) |
Checks if the the thread is the owner of the mutex. More... | |
static __inline__ void | _CORE_recursive_mutex_Initialize (CORE_recursive_mutex_Control *the_mutex) |
Initializes a recursive mutex. More... | |
static __inline__ Status_Control | _CORE_recursive_mutex_Seize_nested (CORE_recursive_mutex_Control *the_mutex) |
Seizes the recursive mutex nested. More... | |
static __inline__ Status_Control | _CORE_recursive_mutex_Seize (CORE_recursive_mutex_Control *the_mutex, const Thread_queue_Operations *operations, Thread_Control *executing, bool wait, Status_Control(*nested)(CORE_recursive_mutex_Control *), Thread_queue_Context *queue_context) |
Seizes the recursive mutex. More... | |
static __inline__ Status_Control | _CORE_recursive_mutex_Surrender (CORE_recursive_mutex_Control *the_mutex, const Thread_queue_Operations *operations, Thread_Control *executing, Thread_queue_Context *queue_context) |
Surrenders the recursive mutex. More... | |
static __inline__ void | _CORE_ceiling_mutex_Initialize (CORE_ceiling_mutex_Control *the_mutex, const Scheduler_Control *scheduler, Priority_Control priority_ceiling) |
initializes a ceiling mutex. More... | |
static __inline__ const Scheduler_Control * | _CORE_ceiling_mutex_Get_scheduler (const CORE_ceiling_mutex_Control *the_mutex) |
Gets the scheduler of the ceiling mutex. More... | |
static __inline__ void | _CORE_ceiling_mutex_Set_priority (CORE_ceiling_mutex_Control *the_mutex, Priority_Control priority_ceiling, Thread_queue_Context *queue_context) |
Sets the priority of the ceiling mutex. More... | |
static __inline__ Priority_Control | _CORE_ceiling_mutex_Get_priority (const CORE_ceiling_mutex_Control *the_mutex) |
Gets the priority of the ceiling mutex. More... | |
static __inline__ Status_Control | _CORE_ceiling_mutex_Set_owner (CORE_ceiling_mutex_Control *the_mutex, Thread_Control *owner, Thread_queue_Context *queue_context) |
Sets the owner of the ceiling mutex. More... | |
static __inline__ Status_Control | _CORE_ceiling_mutex_Seize (CORE_ceiling_mutex_Control *the_mutex, Thread_Control *executing, bool wait, Status_Control(*nested)(CORE_recursive_mutex_Control *), Thread_queue_Context *queue_context) |
Seizes the ceiling mutex. More... | |
static __inline__ Status_Control | _CORE_ceiling_mutex_Surrender (CORE_ceiling_mutex_Control *the_mutex, Thread_Control *executing, Thread_queue_Context *queue_context) |
Surrenders the ceiling mutex. More... | |
CORE Mutex Implementation.
Definition in file coremuteximpl.h.