RTEMS: cpukit/score/src/threadqenqueue.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Functions
threadqenqueue.c File Reference

Thread Queue Operations. More...

`#include <rtems/score/threadqimpl.h>`
`#include <rtems/score/assert.h>`
`#include <rtems/score/threaddispatch.h>`
`#include <rtems/score/threadimpl.h>`
`#include <rtems/score/status.h>`
`#include <rtems/score/watchdogimpl.h>`

## Macros
#define | THREAD_QUEUE_INTEND_TO_BLOCK (THREAD_WAIT_CLASS_OBJECT | THREAD_WAIT_STATE_INTEND_TO_BLOCK)
#define | THREAD_QUEUE_BLOCKED (THREAD_WAIT_CLASS_OBJECT | THREAD_WAIT_STATE_BLOCKED)
#define | THREAD_QUEUE_READY_AGAIN (THREAD_WAIT_CLASS_OBJECT | THREAD_WAIT_STATE_READY_AGAIN)

## Functions
void | _Thread_queue_Enqueue_do_nothing_extra (Thread_queue_Queue *queue, Thread_Control *the_thread, Per_CPU_Control *cpu_self, Thread_queue_Context *queue_context)
| Does nothing.
void | _Thread_queue_Deadlock_status (Thread_Control *the_thread)
| Sets the thread wait return code to STATUS_DEADLOCK.
void | _Thread_queue_Deadlock_fatal (Thread_Control *the_thread)
| Results in an INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK fatal error.
void | _Thread_queue_Enqueue (Thread_queue_Queue *queue, const Thread_queue_Operations *operations, Thread_Control *the_thread, Thread_queue_Context *queue_context)
| Blocks the thread and places it on the thread queue.
bool | _Thread_queue_Extract_locked (Thread_queue_Queue *queue, const Thread_queue_Operations *operations, Thread_Control *the_thread, Thread_queue_Context *queue_context)
| Extracts the thread from the thread queue, restores the default wait operations and restores the default thread lock.
void | _Thread_queue_Unblock_critical (bool unblock, Thread_queue_Queue *queue, Thread_Control *the_thread, ISR_lock_Context *lock_context)
| Unblocks the thread which was on the thread queue before.
void | _Thread_queue_Extract_critical (Thread_queue_Queue *queue, const Thread_queue_Operations *operations, Thread_Control *the_thread, Thread_queue_Context *queue_context)
| Extracts the thread from the thread queue and unblocks it.
void | _Thread_queue_Extract (Thread_Control *the_thread)
| Extracts thread from thread queue.
void | _Thread_queue_Surrender (Thread_queue_Queue *queue, Thread_queue_Heads *heads, Thread_Control *previous_owner, Thread_queue_Context *queue_context, const Thread_queue_Operations *operations)
| Surrenders the thread queue previously owned by the thread to the first enqueued thread.
Thread_Control * | _Thread_queue_Do_dequeue (Thread_queue_Control *the_thread_queue, const Thread_queue_Operations *operations)
| Dequeues the first thread waiting on the thread queue and returns it.

## Detailed Description

Thread Queue Operations.