RTEMS: Semaphore_Control Struct Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Fields
Semaphore_Control Struct Reference
Internal » Classic » Semaphore Manager Implementation

`#include <semdata.h>`

## Data Fields
Objects_Control | Object
| The object management portion of a semaphore instance.
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

## ◆

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:

- cpukit/include/rtems/rtems/semdata.h