![]() |
RTEMS 6.1
|
This source file contains the implementation of _Thread_queue_Deadlock_fatal(), _Thread_queue_Deadlock_status(), _Thread_queue_Do_dequeue(), _Thread_queue_Enqueue(), _Thread_queue_Enqueue_do_nothing_extra(), _Thread_queue_Enqueue_sticky(), _Thread_queue_Extract_locked(), _Thread_queue_Path_acquire(), _Thread_queue_Path_release(), _Thread_queue_Resume(),_Thread_queue_Surrender(), _Thread_queue_Surrender_no_priority(), _Thread_queue_Surrender_sticky(). 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) |
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_Resume (Thread_queue_Queue *queue, Thread_Control *the_thread, Thread_queue_Context *queue_context) |
| Resumes the extracted or surrendered thread. | |
| 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. | |
| void | _Thread_queue_Surrender_no_priority (Thread_queue_Queue *queue, Thread_queue_Heads *heads, Thread_queue_Context *queue_context, const Thread_queue_Operations *operations) |
| Surrenders the thread queue previously owned by the thread to the first enqueued thread. | |
| Status_Control | _Thread_queue_Surrender_priority_ceiling (Thread_queue_Queue *queue, Thread_Control *executing, Priority_Node *priority_ceiling, Thread_queue_Context *queue_context, const Thread_queue_Operations *operations) |
| Surrenders the thread queue previously owned by the thread to the first enqueued thread. | |
This source file contains the implementation of _Thread_queue_Deadlock_fatal(), _Thread_queue_Deadlock_status(), _Thread_queue_Do_dequeue(), _Thread_queue_Enqueue(), _Thread_queue_Enqueue_do_nothing_extra(), _Thread_queue_Enqueue_sticky(), _Thread_queue_Extract_locked(), _Thread_queue_Path_acquire(), _Thread_queue_Path_release(), _Thread_queue_Resume(),_Thread_queue_Surrender(), _Thread_queue_Surrender_no_priority(), _Thread_queue_Surrender_sticky().