From ac8cdfb2f3aefb39730fdf11a3ec0d4e53a91afe Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 20 Jul 2023 14:24:52 -0300 Subject: [PATCH] scheduler: add yield after halt in cpuidlethread --- kernel-src/sys/scheduler.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel-src/sys/scheduler.c b/kernel-src/sys/scheduler.c index b593dc5a..f1b8985f 100644 --- a/kernel-src/sys/scheduler.c +++ b/kernel-src/sys/scheduler.c @@ -369,10 +369,11 @@ static void timerhook(context_t *context, dpcarg_t arg) { } static void cpuidlethread() { - // TODO check every interrupt rather than waiting for a scheduler timer interrupt interrupt_set(true); - while (1) + while (1) { CPU_HALT(); + sched_yield(); + } } void sched_targetcpu(cpu_t *cpu) {