[rtems commit] score: Fix EDF no-preempt thread handling

Sebastian Huber sebh at rtems.org
Thu Jun 23 08:38:37 UTC 2016


Module:    rtems
Branch:    master
Commit:    93f158f943a60d8109f54229529c9692b5f7e01f
Changeset: http://git.rtems.org/rtems/commit/?id=93f158f943a60d8109f54229529c9692b5f7e01f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jun 23 09:04:25 2016 +0200

score: Fix EDF no-preempt thread handling

---

 cpukit/score/src/scheduleredfunblock.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cpukit/score/src/scheduleredfunblock.c b/cpukit/score/src/scheduleredfunblock.c
index 9f80fa9..0f04cb3 100644
--- a/cpukit/score/src/scheduleredfunblock.c
+++ b/cpukit/score/src/scheduleredfunblock.c
@@ -53,7 +53,10 @@ Scheduler_Void_or_thread _Scheduler_EDF_Unblock(
    *    a pseudo-ISR system task, we need to do a context switch.
    */
   if ( priority < _Thread_Heir->current_priority ) {
-    _Scheduler_Update_heir( the_thread, priority == PRIORITY_PSEUDO_ISR );
+    _Scheduler_Update_heir(
+      the_thread,
+      priority == ( SCHEDULER_EDF_PRIO_MSB | PRIORITY_PSEUDO_ISR )
+    );
   }
 
   SCHEDULER_RETURN_VOID_OR_NULL;



More information about the vc mailing list