summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-05-17 18:33:35 -0400
committerIan Moffett <ian@osmora.org>2025-05-17 18:33:35 -0400
commit51ed3c0e5693f271ae136c08628373e2bb01c3da (patch)
tree00a0b3b7a67429148bde3424c2707eb276686496 /sys
parent06ee79603391a0e49fe7ace917b383a40e4586b7 (diff)
kernel: sched: Fix sched dequeue loop
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_sched.c3
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;