|
RTEMS
|
Information required to manage a thread while it is blocked. More...
#include <thread.h>
Public Attributes | |
| uint32_t | count |
| void * | return_argument |
| Thread_Wait_information_Object_argument_type | return_argument_second |
| uint32_t | option |
| uint32_t | return_code |
| Atomic_Uint | flags |
| This field contains several flags used to control the wait class and state of a thread in case fine-grained locking is used. | |
| struct { | |
| ISR_lock_Control Default | |
| Thread wait default lock. | |
| Chain_Control Pending_requests | |
| The pending thread wait lock acquire or tranquilize requests in case the thread is enqueued on a thread queue. | |
| Thread_queue_Gate Tranquilizer | |
| Tranquilizer gate used by _Thread_Wait_tranquilize(). More... | |
| } | Lock |
| Thread wait lock control block. More... | |
| Thread_queue_Link | Link |
| Thread queue link provided for use by the thread wait lock owner to build a thread queue path. | |
| Thread_queue_Queue * | queue |
| The current thread queue. More... | |
| const Thread_queue_Operations * | operations |
| The current thread queue operations. More... | |
| Thread_queue_Heads * | spare_heads |
Information required to manage a thread while it is blocked.
This contains the information required to manage a thread while it is blocked and to return information to it.
| uint32_t Thread_Wait_information::count |
| struct { ... } Thread_Wait_information::Lock |
Thread wait lock control block.
Parts of the thread wait information are protected by the thread wait default lock and additionally a thread queue lock in case the thread is enqueued on a thread queue.
The thread wait lock mechanism protects the following thread variables
| const Thread_queue_Operations* Thread_Wait_information::operations |
The current thread queue operations.
This field is protected by the thread lock wait default lock.
| uint32_t Thread_Wait_information::option |
| Thread_queue_Queue* Thread_Wait_information::queue |
The current thread queue.
If this field is NULL the thread is not enqueued on a thread queue. This field is protected by the thread wait default lock.
| void* Thread_Wait_information::return_argument |
| Thread_Wait_information_Object_argument_type Thread_Wait_information::return_argument_second |
| uint32_t Thread_Wait_information::return_code |
| Thread_queue_Gate Thread_Wait_information::Tranquilizer |
Tranquilizer gate used by _Thread_Wait_tranquilize().
This gate is closed by _Thread_Wait_claim(). In case there are no pending requests during a _Thread_Wait_restore_default(), then this gate is opened immediately, otherwise it is placed on the pending request chain and opened by _Thread_Wait_remove_request_locked() as the last gate on the chain to signal overall request completion.
1.8.14