From e5ca54c99682a264568d95d8a5db555ea8357e9c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 7 Aug 2013 21:19:55 +0200 Subject: score: PR2136: Fix _Thread_Change_priority() Add call to _Scheduler_Schedule() in missing path after _Thread_Set_transient() in _Thread_Change_priority(). See also sptests/spintrcritical19. Add thread parameter to _Scheduler_Schedule(). This parameter is currently unused but may be used in future SMP schedulers. Do heir selection in _Scheduler_Schedule(). Use _Scheduler_Update_heir() for this in the particular scheduler implementation. Add and use _Scheduler_Generic_block(). --- cpukit/score/src/schedulersimpleblock.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'cpukit/score/src/schedulersimpleblock.c') diff --git a/cpukit/score/src/schedulersimpleblock.c b/cpukit/score/src/schedulersimpleblock.c index b9753b5954..1e6e8a0b47 100644 --- a/cpukit/score/src/schedulersimpleblock.c +++ b/cpukit/score/src/schedulersimpleblock.c @@ -19,18 +19,15 @@ #include "config.h" #endif -#include -#include +#include void _Scheduler_simple_Block( Thread_Control *the_thread ) { - _Scheduler_simple_Extract(the_thread); - - if ( _Thread_Is_heir( the_thread ) ) - _Scheduler_simple_Schedule(); - - if ( _Thread_Is_executing( the_thread ) ) - _Thread_Dispatch_necessary = true; + _Scheduler_Generic_block( + _Scheduler_simple_Extract, + _Scheduler_simple_Schedule_body, + the_thread + ); } -- cgit v1.2.3