35 if ( priority == NULL ) {
40 if ( scheduler == NULL ) {
49 if ( the_thread == NULL ) {
50 #if defined(RTEMS_MULTIPROCESSING) 51 if ( _Thread_MP_Is_remote( task_id ) ) {
66 #if defined(RTEMS_SMP) rtems_status_code rtems_task_get_priority(rtems_id task_id, rtems_id scheduler_id, rtems_task_priority *priority)
%
uint64_t Priority_Control
The thread priority control.
Thread queue context for the thread queue methods.
static __inline__ Scheduler_Node * _Thread_Scheduler_get_node_by_index(const Thread_Control *the_thread, size_t scheduler_index)
Gets the thread's scheduler node by index.
Inlined Routines Associated with the Manipulation of the Scheduler.
static __inline__ void _Thread_queue_Context_initialize(Thread_queue_Context *queue_context)
Initializes a thread queue context.
Thread_Control * _Thread_Get(Objects_Id id, ISR_lock_Context *lock_context)
Gets a thread by its identifier.
uint32_t rtems_task_priority
%
static __inline__ void _Thread_Wait_acquire_critical(Thread_Control *the_thread, Thread_queue_Context *queue_context)
Acquires the thread wait lock inside a critical section (interrupts disabled).
This status code indicates successful completion.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Thread_queue_Lock_context Lock_context
The lock context for the thread queue acquire and release operations.
This status code indicates that a specified address was invalid.
static __inline__ bool _Priority_Is_empty(const Priority_Aggregation *aggregation)
Checks if the priority aggregation is empty.
struct Scheduler_Node::@20 Wait
Thread wait support block.
This status code indicates that the item has not been initialized.
This status code indicates that an object identifier was invalid.
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Scheduler node for per-thread data.
This status code indicates that the operation was illegal on a remote object.
Inlined Routines from the Thread Handler.
static __inline__ Priority_Control _Priority_Get_priority(const Priority_Aggregation *aggregation)
Gets the priority aggregation's priority.
static __inline__ rtems_task_priority _RTEMS_Priority_From_core(const Scheduler_Control *scheduler, Priority_Control priority)
Converts the SuperCore priority to the corresponding RTEMS API priority.
static __inline__ void _Thread_Wait_release(Thread_Control *the_thread, Thread_queue_Context *queue_context)
Releases the thread wait lock and restores the previous interrupt status.
ISR_lock_Context Lock_context
The lock context for the thread queue acquire and release operations.
static __inline__ uint32_t _Scheduler_Get_index(const Scheduler_Control *scheduler)
Gets the index of the scheduler.
static __inline__ const Scheduler_Control * _Scheduler_Get_by_id(Objects_Id id)
Gets the scheduler from the given object build id.
Classic Tasks Manager Implementation.