RTEMS
Public Attributes | List of all members
Semaphore_Control Struct Reference

#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
 

Detailed Description

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

Definition at line 40 of file semdata.h.

Member Data 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.

Definition at line 71 of file semdata.h.

◆ 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.

Definition at line 50 of file semdata.h.

◆ Semaphore

CORE_semaphore_Control Semaphore_Control::Semaphore

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

Definition at line 77 of file semdata.h.


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