RTEMS: Thread_queue_Context Struct Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Fields
Thread_queue_Context Struct Reference
Internal » SuperCore » Thread Queue Handler

Thread queue context for the thread queue methods. More...

`#include <threadq.h>`

## Data Fields
Thread_queue_Lock_context | Lock_context
| The lock context for the thread queue acquire and release operations.
States_Control | thread_state
| The thread state for _Thread_queue_Enqueue().
Thread_queue_Enqueue_callout | enqueue_callout
| The enqueue callout for _Thread_queue_Enqueue().
union {
Watchdog_Interval ticks
| The timeout in ticks.
const void * arg
| The timeout argument, e.g. pointer to struct timespec.
} | Timeout
| Interval to wait.
struct {
Priority_Actions Actions
| A priority action list.
size_t update_count
| Count of threads to update the priority via _Thread_Priority_update().
Thread_Control * update [2]
| Threads to update the priority via _Thread_Priority_update(). More...
} | Priority
| Block to manage thread priority changes due to a thread queue operation.
Thread_queue_Deadlock_callout | deadlock_callout
| Invoked in case of a detected deadlock.

## Detailed Description

Thread queue context for the thread queue methods.

See also
  _Thread_queue_Context_initialize().

## Field Documentation

## ◆ deadlock_callout

Thread_queue_Deadlock_callout Thread_queue_Context::deadlock_callout

Invoked in case of a detected deadlock.

Must be initialized for _Thread_queue_Enqueue() in case the thread queue may have an owner, e.g. for mutex objects.

See also
  _Thread_queue_Context_set_deadlock_callout().

## ◆ enqueue_callout

Thread_queue_Enqueue_callout Thread_queue_Context::enqueue_callout

The enqueue callout for _Thread_queue_Enqueue().

The callout is invoked after the release of the thread queue lock with thread dispatching disabled. Afterwards the thread is blocked. This callout must be used to install the thread watchdog for timeout handling.

See also
  _Thread_queue_Enqueue_do_nothing_extra(). _Thread_queue_Add_timeout_ticks(), and _Thread_queue_Add_timeout_realtime_timespec().

## ◆

union { ... } Thread_queue_Context::Timeout

Interval to wait.

May be used by the enqueue callout to register a timeout handler.

## ◆ update

Thread_Control* Thread_queue_Context::update[2]

Threads to update the priority via _Thread_Priority_update().

Currently, a maximum of two threads need an update in one rush, for example the thread of the thread queue operation and the owner of the thread queue.

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

- cpukit/include/rtems/score/threadq.h