diff options
author | Ian Moffett <ian@osmora.org> | 2025-05-17 18:33:35 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-05-17 18:33:35 -0400 |
commit | 51ed3c0e5693f271ae136c08628373e2bb01c3da (patch) | |
tree | 00a0b3b7a67429148bde3424c2707eb276686496 /sys/kern | |
parent | 06ee79603391a0e49fe7ace917b383a40e4586b7 (diff) |
kernel: sched: Fix sched dequeue loop
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_sched.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index 4bbe5a0..4f425b0 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -185,7 +185,7 @@ sched_switch(struct trapframe *tf) struct cpu_info *ci; struct pcb *pcbp; struct proc *next_td, *td; - bool use_current = true; + bool use_current; ci = this_cpu(); td = ci->curtd; @@ -200,6 +200,7 @@ sched_switch(struct trapframe *tf) * in the middle of an exit, exec, or whatever. */ do { + use_current = true; if ((next_td = sched_dequeue_td()) == NULL) { sched_oneshot(false); return; |