RTEMS CPU Kit with SuperCore  4.11.99.0
Data Fields
Thread_Wait_information Struct Reference

Information required to manage a thread while it is blocked. More...

#include <thread.h>

Collaboration diagram for Thread_Wait_information:
Collaboration graph
[legend]

Data Fields

union {
   Chain_Node   Chain
 A node for chains.
 
   RBTree_Node   RBTree
 A node for red-black trees.
 
Node
 Node for thread queues.
 
Objects_Id id
 This field is the Id of the object this thread is waiting upon. More...
 
uint32_t count
 This field is used to return an integer while when blocked. More...
 
void * return_argument
 This field is for a pointer to a user return argument. More...
 
Thread_Wait_information_Object_argument_type return_argument_second
 This field is for a pointer to a second user return argument. More...
 
uint32_t option
 This field contains any options in effect on this blocking operation. More...
 
uint32_t return_code
 This field will contain the return status from a blocking operation. More...
 
uint32_t timeout_code
 Code to set the timeout return code in _Thread_Timeout().
 
Thread_queue_Queuequeue
 The current thread queue. More...
 
Thread_Wait_flags flags
 This field contains several flags used to control the wait class and state of a thread in case fine-grained locking is used.
 
const Thread_queue_Operationsoperations
 The current thread queue operations. More...
 
Thread_queue_Headsspare_heads
 

Detailed Description

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.

Field Documentation

uint32_t Thread_Wait_information::count

This field is used to return an integer while when blocked.

Objects_Id Thread_Wait_information::id

This field is the Id of the object this thread is waiting upon.

Referenced by _CORE_mutex_Seize_body(), and _CORE_semaphore_Seize().

const Thread_queue_Operations* Thread_Wait_information::operations

The current thread queue operations.

This field is protected by the thread lock.

See also
_Thread_Lock_set() and _Thread_Wait_set_operations().

Referenced by _Thread_Wait_restore_default_operations(), and _Thread_Wait_set_operations().

uint32_t Thread_Wait_information::option

This field contains any options in effect on this blocking operation.

Thread_queue_Queue* Thread_Wait_information::queue

The current thread queue.

In case this field is NULL, then the thread is not blocked on a thread queue. This field is protected by the thread lock.

See also
_Thread_Lock_set() and _Thread_Wait_set_queue().

Referenced by _Thread_Wait_set_queue().

void* Thread_Wait_information::return_argument

This field is for a pointer to a user return argument.

Thread_Wait_information_Object_argument_type Thread_Wait_information::return_argument_second

This field is for a pointer to a second user return argument.

uint32_t Thread_Wait_information::return_code

This field will contain the return status from a blocking operation.

Note
The following assumes that all API return codes can be treated as an uint32_t.

Referenced by _CORE_mutex_Seize_body(), _CORE_mutex_Seize_interrupt_trylock_body(), and _CORE_semaphore_Seize().


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