From 737d58fbb9516674939f08bd495fcba3ee2b73ba Mon Sep 17 00:00:00 2001 From: shaojinchun Date: Fri, 10 May 2019 10:36:19 +0800 Subject: 修正_get_highest_priority_thread中对“是否只有idle可运行”判断位置的问题 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scheduler.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scheduler.c b/src/scheduler.c index 3da723687c..458d1e15c0 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -128,9 +128,9 @@ static struct rt_thread* _get_highest_priority_thread(rt_ubase_t *highest_prio) register struct rt_thread *highest_priority_thread; register rt_ubase_t highest_ready_priority, local_highest_ready_priority; 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) { @@ -139,6 +139,7 @@ static struct rt_thread* _get_highest_priority_thread(rt_ubase_t *highest_prio) 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; -- cgit v1.3.1