RTEMS
|
Thread queue heads. More...
#include <threadq.h>
Public Attributes | |
union { | |
Chain_Control Fifo | |
This is the FIFO discipline list. More... | |
} | Heads |
Chain_Control | Free_chain |
A chain with free thread queue heads providing the spare thread queue heads for a thread once it is dequeued. | |
Chain_Node | Free_node |
A chain node to add these thread queue heads to the free chain of the thread queue heads dedicated to the thread queue of an object. | |
Thread_queue_Priority_queue | Priority [RTEMS_ZERO_LENGTH_ARRAY] |
One priority queue per scheduler instance. | |
Thread queue heads.
Each thread is equipped with spare thread queue heads in case it is not enqueued on a thread queue. The first thread enqueued on a thread queue will give its spare thread queue heads to that thread queue. The threads arriving at the queue will add their thread queue heads to the free chain of the queue heads provided by the first thread enqueued. Once a thread is dequeued it use the free chain to get new spare thread queue heads.
Uses a leading underscore in the structure name to allow forward declarations in standard header files provided by Newlib and GCC.
Chain_Control _Thread_queue_Heads::Fifo |
union { ... } _Thread_queue_Heads::Heads |
This union contains the data structures used to manage the blocked set of tasks which varies based upon the discipline.