diff options
Diffstat (limited to 'cpukit/score/src/schedulerpriorityblock.c')
-rw-r--r-- | cpukit/score/src/schedulerpriorityblock.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpukit/score/src/schedulerpriorityblock.c b/cpukit/score/src/schedulerpriorityblock.c index 3babe6e0cc..702ea48034 100644 --- a/cpukit/score/src/schedulerpriorityblock.c +++ b/cpukit/score/src/schedulerpriorityblock.c @@ -29,5 +29,14 @@ void _Scheduler_priority_Block( Thread_Control *the_thread ) { - _Scheduler_priority_Block_body(the_thread); + _Scheduler_priority_Ready_queue_extract( the_thread ); + + /* TODO: flash critical section? */ + + if ( _Thread_Is_heir( the_thread ) ) + _Scheduler_priority_Schedule_body(); + + if ( _Thread_Is_executing( the_thread ) ) + _Thread_Dispatch_necessary = true; + } |