diff --git a/src/core/kernel/threads.cpp b/src/core/kernel/threads.cpp index eae41434..ad14b45d 100644 --- a/src/core/kernel/threads.cpp +++ b/src/core/kernel/threads.cpp @@ -102,7 +102,7 @@ void Kernel::switchToNextThread() { void Kernel::rescheduleThreads() { std::optional newThreadIndex = getNextThread(); - if (newThreadIndex.has_value()) { + if (newThreadIndex.has_value() && newThreadIndex.value() != currentThreadIndex) { threads[currentThreadIndex].status = ThreadStatus::Ready; switchThread(newThreadIndex.value()); }