diff --git a/src/scheduler.c b/src/scheduler.c index 458d1e15c0..b487bd4b60 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -130,16 +130,7 @@ static struct rt_thread* _get_highest_priority_thread(rt_ubase_t *highest_prio) struct rt_cpu* pcpu = rt_cpu_self(); #if RT_THREAD_PRIORITY_MAX > 32 register rt_ubase_t number; -#endif - if (rt_thread_ready_priority_group == 0 && pcpu->priority_group == 0) - { - *highest_prio = pcpu->current_thread->current_priority; - /* only local IDLE is readly */ - return pcpu->current_thread; - } - -#if RT_THREAD_PRIORITY_MAX > 32 number = __rt_ffs(rt_thread_ready_priority_group) - 1; highest_ready_priority = (number << 3) + __rt_ffs(rt_thread_ready_table[number]) - 1; number = __rt_ffs(pcpu->priority_group) - 1;