From 03b21633d9783110e23932cc783507a2e5a244c9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 1 Mar 2019 10:10:19 +0100 Subject: score: Fix _Scheduler_EDF_Cancel_job() Remove the priority node only in case it is active. --- cpukit/score/src/scheduleredfreleasejob.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'cpukit/score/src') diff --git a/cpukit/score/src/scheduleredfreleasejob.c b/cpukit/score/src/scheduleredfreleasejob.c index d7865ff5fb..f95e8bdc0b 100644 --- a/cpukit/score/src/scheduleredfreleasejob.c +++ b/cpukit/score/src/scheduleredfreleasejob.c @@ -84,8 +84,10 @@ void _Scheduler_EDF_Cancel_job( _Thread_Wait_acquire_critical( the_thread, queue_context ); - _Thread_Priority_remove( the_thread, priority_node, queue_context ); - _Priority_Node_set_inactive( priority_node ); + if ( _Priority_Node_is_active( priority_node ) ) { + _Thread_Priority_remove( the_thread, priority_node, queue_context ); + _Priority_Node_set_inactive( priority_node ); + } _Thread_Wait_release_critical( the_thread, queue_context ); } -- cgit v1.2.3