|
RTEMS
|
#include <thread.h>
Public Attributes | |
| Objects_Control | Object |
| Thread_queue_Control | Join_queue |
| Thread queue for thread join operations and multi-purpose lock. More... | |
| States_Control | current_state |
| Priority_Node | Real_priority |
| The base priority of this thread in its home scheduler instance. | |
| Thread_Scheduler_control | Scheduler |
| Scheduler related control. | |
| Thread_Wait_information | Wait |
| Thread_Timer_information | Timer |
| bool | is_idle |
| bool | is_preemptible |
| bool | is_fp |
| bool | was_created_with_inherited_scheduler |
| True, if the thread was created with an inherited scheduler (PTHREAD_INHERIT_SCHED), and false otherwise. | |
| uint32_t | cpu_time_budget |
| Thread_CPU_budget_algorithms | budget_algorithm |
| Thread_CPU_budget_algorithm_callout | budget_callout |
| Timestamp_Control | cpu_time_used |
| Thread_Start_information | Start |
| Thread_Action_control | Post_switch_actions |
| Context_Control | Registers |
| struct _reent * | libc_reent |
| void * | API_Extensions [THREAD_API_LAST+1] |
| Thread_Keys_information | Keys |
| The POSIX Keys information. | |
| Thread_Life_control | Life |
| Thread life-cycle control. More... | |
| Thread_Capture_control | Capture |
| struct rtems_user_env_t * | user_environment |
| Pointer to an optional thread-specific POSIX user environment. | |
| struct _pthread_cleanup_context * | last_cleanup_context |
| LIFO list of POSIX cleanup contexts. | |
| struct User_extensions_Iterator * | last_user_extensions_iterator |
| LIFO list of user extensions iterators. | |
| void * | extensions [RTEMS_ZERO_LENGTH_ARRAY] |
| Variable length array of user extension pointers. More... | |
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] |
| Thread_CPU_budget_algorithms _Thread_Control::budget_algorithm |
| Thread_CPU_budget_algorithm_callout _Thread_Control::budget_callout |
| uint32_t _Thread_Control::cpu_time_budget |
| Timestamp_Control _Thread_Control::cpu_time_used |
| States_Control _Thread_Control::current_state |
| 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>.
| bool _Thread_Control::is_fp |
| bool _Thread_Control::is_idle |
| bool _Thread_Control::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 |
| Thread_Life_control _Thread_Control::Life |
| Objects_Control _Thread_Control::Object |
| Context_Control _Thread_Control::Registers |
| Thread_Start_information _Thread_Control::Start |
| Thread_Timer_information _Thread_Control::Timer |
| Thread_Wait_information _Thread_Control::Wait |
1.8.14