diff options
Diffstat (limited to 'c/src/lib/libcpu')
-rw-r--r-- | c/src/lib/libcpu/bfin/clock/clock.c | 7 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/c/src/lib/libcpu/bfin/clock/clock.c b/c/src/lib/libcpu/bfin/clock/clock.c index 530e5bad48..46525863b8 100644 --- a/c/src/lib/libcpu/bfin/clock/clock.c +++ b/c/src/lib/libcpu/bfin/clock/clock.c @@ -39,8 +39,11 @@ static rtems_isr clockISR(rtems_vector_number vector) { #ifdef CLOCK_DRIVER_USE_FAST_IDLE do { rtems_clock_tick(); - } while (_Thread_Executing == _Thread_Idle && - _Thread_Heir == _Thread_Executing); + } while ( + _Thread_Heir == _Thread_Executing + && _Thread_Executing->Start.entry_point + == rtems_configuration_get_idle_task() + ); #else rtems_clock_tick(); #endif diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c b/c/src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c index 01b72aa477..3033b70615 100644 --- a/c/src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c +++ b/c/src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c @@ -98,8 +98,11 @@ static void clockHandler(void) #if (CLOCK_DRIVER_USE_FAST_IDLE == 1) do { rtems_clock_tick(); - } while ( _Thread_Executing == _Thread_Idle && - _Thread_Heir == _Thread_Executing); + } while ( + _Thread_Heir == _Thread_Executing + && _Thread_Executing->Start.entry_point + == rtems_configuration_get_idle_task() + ); #else rtems_clock_tick(); |