RTEMS
5.0.0
|
Classic Semaphore Manager Implementation. More...
#include <rtems/rtems/semdata.h>
#include <rtems/score/coremuteximpl.h>
#include <rtems/score/coresemimpl.h>
#include <rtems/score/mrspimpl.h>
Go to the source code of this file.
Enumerations | |
enum | Semaphore_Variant { SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY, SEMAPHORE_VARIANT_MUTEX_PRIORITY_CEILING, SEMAPHORE_VARIANT_MUTEX_NO_PROTOCOL, SEMAPHORE_VARIANT_SIMPLE_BINARY, SEMAPHORE_VARIANT_COUNTING } |
Classic semaphore variants. More... | |
enum | Semaphore_Discipline { SEMAPHORE_DISCIPLINE_PRIORITY, SEMAPHORE_DISCIPLINE_FIFO } |
Functions | |
RTEMS_INLINE_ROUTINE const Thread_queue_Operations * | _Semaphore_Get_operations (const Semaphore_Control *the_semaphore) |
RTEMS_INLINE_ROUTINE Semaphore_Control * | _Semaphore_Allocate (void) |
Allocates a semaphore control block from the inactive chain of free semaphore control blocks. More... | |
RTEMS_INLINE_ROUTINE void | _Semaphore_Free (Semaphore_Control *the_semaphore) |
Frees a semaphore control block to the inactive chain of free semaphore control blocks. More... | |
RTEMS_INLINE_ROUTINE Semaphore_Control * | _Semaphore_Get (Objects_Id id, Thread_queue_Context *queue_context) |
Classic Semaphore Manager Implementation.