RTEMS  5.1
Data Fields
Semaphore_Control Struct Reference

#include <semdata.h>

Data Fields

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
 
Core_control
 

Detailed Description

The following defines the control block used to manage each semaphore.

Field Documentation

◆ Core_control

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.

Note
Only one of these has meaning in a particular Classic API Semaphore instance.

◆ Mutex

CORE_ceiling_mutex_Control Semaphore_Control::Mutex

This is the SuperCore Mutex instance associated with this Classic API Semaphore instance.

◆ Object

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.

◆ Semaphore

CORE_semaphore_Control Semaphore_Control::Semaphore

This is the SuperCore Semaphore instance associated with this Classic API Semaphore instance.


The documentation for this struct was generated from the following file: