forked from Imagelibrary/rtems
This emphasizes that the scheduler node of a thread is returned and this is not a function working with scheduler nodes like the other *_Node_*() functions.
40 lines
936 B
C
40 lines
936 B
C
/**
|
|
* @file
|
|
*
|
|
* @brief Update Scheduler Priority
|
|
* @ingroup ScoreScheduler
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2010 Gedare Bloom.
|
|
* Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.org/license/LICENSE.
|
|
*/
|
|
|
|
#if HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <rtems/score/schedulerpriorityimpl.h>
|
|
|
|
void _Scheduler_priority_Update_priority(
|
|
const Scheduler_Control *scheduler,
|
|
Thread_Control *the_thread,
|
|
Priority_Control new_priority
|
|
)
|
|
{
|
|
Scheduler_priority_Context *context =
|
|
_Scheduler_priority_Get_context( scheduler );
|
|
Scheduler_priority_Node *node = _Scheduler_priority_Thread_get_node( the_thread );
|
|
|
|
_Scheduler_priority_Ready_queue_update(
|
|
&node->Ready_queue,
|
|
new_priority,
|
|
&context->Bit_map,
|
|
&context->Ready[ 0 ]
|
|
);
|
|
}
|