From a6ca98987eee61f00578ca82f75a3d600c0158d3 Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Sun, 30 Mar 2025 19:08:18 +0000 Subject: [PATCH] fix(kernel/scheduler): threads were skipped if one has affinity for other core Signed-off-by: EnderIce2 --- Kernel/tasking/scheduler/custom.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Kernel/tasking/scheduler/custom.cpp b/Kernel/tasking/scheduler/custom.cpp index 1da52eb7..02555815 100644 --- a/Kernel/tasking/scheduler/custom.cpp +++ b/Kernel/tasking/scheduler/custom.cpp @@ -377,7 +377,10 @@ namespace Tasking::Scheduler } if (nextThread->Info.Affinity[CurrentCPU->ID] == false) - continue; + { + TempIndex++; + goto RetryAnotherThread; + } CurrentCPU->CurrentThread = nextThread; gnat_schedbg("[thd 0 -> end] Scheduling thread %d parent of %s->%d Procs %d",