summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/threadchangepriority.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-23 10:47:22 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-02 10:05:41 +0100
commit70c22d939513dd05171d99cb053dc8f71135ee25 (patch)
treee37818a449548482c10f89829ce6e2abfc1196c6 /cpukit/score/src/threadchangepriority.c
parentscore: Add _Thread_Scheduler_add_wait_node() (diff)
downloadrtems-70c22d939513dd05171d99cb053dc8f71135ee25.tar.bz2
score: Add _Thread_Scheduler_remove_wait_node()
Update #2556.
Diffstat (limited to 'cpukit/score/src/threadchangepriority.c')
-rw-r--r--cpukit/score/src/threadchangepriority.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/score/src/threadchangepriority.c b/cpukit/score/src/threadchangepriority.c
index afce28a430..e107bcc758 100644
--- a/cpukit/score/src/threadchangepriority.c
+++ b/cpukit/score/src/threadchangepriority.c
@@ -63,10 +63,12 @@ static void _Thread_Priority_action_remove(
)
{
Scheduler_Node *scheduler_node;
+ Thread_Control *the_thread;
scheduler_node = SCHEDULER_NODE_OF_WAIT_PRIORITY( priority_aggregation );
+ the_thread = arg;
- _Chain_Extract_unprotected( &scheduler_node->Thread.Wait_node );
+ _Thread_Scheduler_remove_wait_node( the_thread, scheduler_node );
_Thread_Set_scheduler_node_priority( priority_aggregation, true );
_Priority_Set_action_type( priority_aggregation, PRIORITY_ACTION_REMOVE );
_Priority_Actions_add( priority_actions, priority_aggregation );
@@ -139,7 +141,7 @@ static void _Thread_Priority_do_perform_actions(
&queue_context->Priority.Actions,
_Thread_Priority_action_remove,
_Thread_Priority_action_change,
- NULL
+ the_thread
);
#else
_Priority_Extract_non_empty(