RTEMS
5.1
|
#include <thread.h>
This structure defines the Thread Control Block (TCB).
Uses a leading underscore in the structure name to allow forward declarations in standard header files provided by Newlib and GCC.
In case the second member changes (currently Join_queue), then the memset() in _Thread_Initialize() must be adjusted.
void* _Thread_Control::API_Extensions[THREAD_API_LAST+1] |
This array contains the API extension area pointers.
Thread_CPU_budget_algorithms _Thread_Control::budget_algorithm |
This field is the algorithm used to manage this thread's time quantum. The algorithm may be specified as none which case, no limit is in place.
Thread_CPU_budget_algorithm_callout _Thread_Control::budget_callout |
This field is the method invoked with the budgeted time is consumed.
uint32_t _Thread_Control::cpu_time_budget |
This field is the length of the time quantum that this thread is allowed to consume. The algorithm used to manage limits on CPU usage is specified by budget_algorithm.
Timestamp_Control _Thread_Control::cpu_time_used |
This field is the amount of CPU time consumed by this thread since it was created.
States_Control _Thread_Control::current_state |
This field is the current execution state of this thread.
void* _Thread_Control::extensions[RTEMS_ZERO_LENGTH_ARRAY] |
Variable length array of user extension pointers.
The length is defined by the application via <rtems/confdefs.h>.
Context_Control_fp* _Thread_Control::fp_context |
This field points to the floating point context for this thread. If NULL, the thread is integer only.
bool _Thread_Control::is_fp |
This field is true if the thread uses the floating point unit.
bool _Thread_Control::is_idle |
This field is true if the thread is an idle thread.
bool _Thread_Control::is_preemptible |
This field is true if the thread is preemptible.
Thread_queue_Control _Thread_Control::Join_queue |
Thread queue for thread join operations and multi-purpose lock.
The lock of this thread queue is used for various purposes. It protects the following fields
struct _reent* _Thread_Control::libc_reent |
This field points to the newlib reentrancy structure for this thread.
Thread_Life_control _Thread_Control::Life |
Thread life-cycle control.
Control state changes triggered by thread restart and delete requests.
Objects_Control _Thread_Control::Object |
This field is the object management structure for each thread.
Context_Control _Thread_Control::Registers |
This field contains the context of this thread.
Thread_Start_information _Thread_Control::Start |
This field contains information about the starting state of this thread.
Thread_Timer_information _Thread_Control::Timer |
This field is the Watchdog used to manage thread delays and timeouts.
Thread_Wait_information _Thread_Control::Wait |
This field is the blocking information for this thread.