RTEMS 6.1-rc1
Data Fields
Thread_queue_Operations Struct Reference

The thread queue operations are used to manage the threads of a thread queue. More...

#include <threadq.h>

Data Fields

Thread_queue_Priority_actions_operation priority_actions
 This operation performs the thread queue priority actions. More...
 
Thread_queue_Enqueue_operation enqueue
 This operation is used to enqueue the thread on the thread queue. More...
 
Thread_queue_Extract_operation extract
 This operation is used to extract the thread from the thread queue. More...
 
Thread_queue_Surrender_operation surrender
 This operation is used to dequeue the thread from the thread queue and optionally surrender the thread queue from a previous owner to the thread. More...
 
Thread_queue_First_operation first
 This operation returns the first thread on the thread queue. More...
 

Detailed Description

The thread queue operations are used to manage the threads of a thread queue.

The standard thread queue operation variants are:

See also
_Thread_wait_Set_operations().

Field Documentation

◆ enqueue

Thread_queue_Enqueue_operation Thread_queue_Operations::enqueue

This operation is used to enqueue the thread on the thread queue.

The enqueue order is defined by the operations variant.

◆ extract

Thread_queue_Extract_operation Thread_queue_Operations::extract

This operation is used to extract the thread from the thread queue.

The extract operation is intended for timeouts, thread restarts, and thread cancellation. In SMP configurations, the extract operation does not ensure FIFO fairness across schedulers for priority queues. The surrender operation should be used to dequeue a thread from the thread queue under normal conditions (no timeout, no thread restart, and no thread cancellation).

◆ first

Thread_queue_First_operation Thread_queue_Operations::first

This operation returns the first thread on the thread queue.

This operation may be called only when the thread queue contains at least one thread. Use Thread_queue_Queue::heads to determine if a thread queue is empty.

◆ priority_actions

Thread_queue_Priority_actions_operation Thread_queue_Operations::priority_actions

This operation performs the thread queue priority actions.

Priority actions are produced and processed during enqueue, extract, and surrender operations.

◆ surrender

Thread_queue_Surrender_operation Thread_queue_Operations::surrender

This operation is used to dequeue the thread from the thread queue and optionally surrender the thread queue from a previous owner to the thread.

In addition to the optional surrender, there is a subtle difference between the extract and dequeue of a thread from a thread queue. In SMP configurations, FIFO fairness across schedulers for priority queues is only ensured by the dequeue done by the surrender operation and not by the extract operation.


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