If we block the executing thread and it is not the heir thread, then there is no need to run the schedule operation. The scheduler already selected a new heir. --- cpukit/include/rtems/score/schedulerimpl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpukit/include/rtems/score/schedulerimpl.h b/cpukit/include/rtems/score/schedulerimpl.h index 2c53c05056..6e079f3a80 100644 --- a/cpukit/include/rtems/score/schedulerimpl.h +++ b/cpukit/include/rtems/score/schedulerimpl.h @@ -761,7 +761,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Generic_block( /* TODO: flash critical section? */ - if ( _Thread_Is_executing( the_thread ) || _Thread_Is_heir( the_thread ) ) { + if ( _Thread_Is_heir( the_thread ) ) { ( *schedule )( scheduler, the_thread, true ); } } -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel