diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-07 21:19:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-20 10:14:02 +0200 |
commit | e5ca54c99682a264568d95d8a5db555ea8357e9c (patch) | |
tree | 8d0ab9e455831ae28229832937b6e24c243c607d /cpukit/score/src/scheduleredfblock.c | |
parent | correct memory model in smpatomic test case (diff) | |
download | rtems-e5ca54c99682a264568d95d8a5db555ea8357e9c.tar.bz2 |
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().
Diffstat (limited to 'cpukit/score/src/scheduleredfblock.c')
-rw-r--r-- | cpukit/score/src/scheduleredfblock.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/cpukit/score/src/scheduleredfblock.c b/cpukit/score/src/scheduleredfblock.c index 4ad767d7bf..80bb1d5549 100644 --- a/cpukit/score/src/scheduleredfblock.c +++ b/cpukit/score/src/scheduleredfblock.c @@ -19,20 +19,15 @@ #include "config.h" #endif -#include <rtems/score/scheduleredf.h> -#include <rtems/score/threadimpl.h> +#include <rtems/score/scheduleredfimpl.h> void _Scheduler_EDF_Block( Thread_Control *the_thread ) { - _Scheduler_EDF_Extract( the_thread ); - - /* TODO: flash critical section? */ - - if ( _Thread_Is_heir( the_thread ) ) - _Scheduler_EDF_Schedule(); - - if ( _Thread_Is_executing( the_thread ) ) - _Thread_Dispatch_necessary = true; + _Scheduler_Generic_block( + _Scheduler_EDF_Extract, + _Scheduler_EDF_Schedule_body, + the_thread + ); } |