RTEMS
|
#include <semdata.h>
Public Attributes | |
Objects_Control | Object |
The object management portion of a semaphore instance. More... | |
union { | |
Thread_queue_Control Wait_queue | |
The thread queue present in all other variants. | |
CORE_ceiling_mutex_Control Mutex | |
CORE_semaphore_Control Semaphore | |
MRSP_Control MRSP | |
} | Core_control |
The following defines the control block used to manage each semaphore.
union { ... } Semaphore_Control::Core_control |
This contains the memory associated with the SuperCore Semaphore or Mutex instance that provides the primary functionality of each Classic API Semaphore instance. The structure used is dependent on the attributes specified by the user on the create directive.
CORE_ceiling_mutex_Control Semaphore_Control::Mutex |
Objects_Control Semaphore_Control::Object |
The object management portion of a semaphore instance.
A pointer of the node of active semaphores contains the semaphore flags, see _Semaphore_Get_flags(). The rational for this optimization is a reduction of the semaphore control size in general and the ability to allow a configuration dependent size of the semaphore control block, e.g. for the MrsP semaphores.
CORE_semaphore_Control Semaphore_Control::Semaphore |