RTEMS: cpukit/include/rtems/score/coremuteximpl.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Functions
coremuteximpl.h File Reference
Internal » SuperCore » Mutex Handler

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
RTEMS_INLINE_ROUTINE void | _CORE_mutex_Initialize (CORE_mutex_Control *the_mutex)
| Initializes the mutex.
RTEMS_INLINE_ROUTINE void | _CORE_mutex_Destroy (CORE_mutex_Control *the_mutex)
| Destroys the mutex.
RTEMS_INLINE_ROUTINE void | _CORE_mutex_Acquire_critical (CORE_mutex_Control *the_mutex, Thread_queue_Context *queue_context)
| Acquires the mutex critical.
RTEMS_INLINE_ROUTINE void | _CORE_mutex_Release (CORE_mutex_Control *the_mutex, Thread_queue_Context *queue_context)
| Releases the mutex.
RTEMS_INLINE_ROUTINE Thread_Control * | _CORE_mutex_Get_owner (const CORE_mutex_Control *the_mutex)
| Gets the owner of the mutex.
RTEMS_INLINE_ROUTINE bool | _CORE_mutex_Is_locked (const CORE_mutex_Control *the_mutex)
| Checks if the mutex is locked.
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.
RTEMS_INLINE_ROUTINE void | _CORE_mutex_Set_owner (CORE_mutex_Control *the_mutex, Thread_Control *owner)
| Sets the owner of the mutex.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE void | _CORE_recursive_mutex_Initialize (CORE_recursive_mutex_Control *the_mutex)
| Initializes a recursive mutex.
RTEMS_INLINE_ROUTINE Status_Control | _CORE_recursive_mutex_Seize_nested (CORE_recursive_mutex_Control *the_mutex)
| Seizes the recursive mutex nested.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE void | _CORE_ceiling_mutex_Initialize (CORE_ceiling_mutex_Control *the_mutex, const Scheduler_Control *scheduler, Priority_Control priority_ceiling)
| initializes a ceiling mutex.
RTEMS_INLINE_ROUTINE const Scheduler_Control * | _CORE_ceiling_mutex_Get_scheduler (const CORE_ceiling_mutex_Control *the_mutex)
| Gets the scheduler of the ceiling mutex.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE Priority_Control | _CORE_ceiling_mutex_Get_priority (const CORE_ceiling_mutex_Control *the_mutex)
| Gets the priority of the ceiling mutex.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE 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.
RTEMS_INLINE_ROUTINE Status_Control | _CORE_ceiling_mutex_Surrender (CORE_ceiling_mutex_Control *the_mutex, Thread_Control *executing, Thread_queue_Context *queue_context)
| Surrenders the ceiling mutex.

## Detailed Description

CORE Mutex Implementation.