From b55f22d6a4f85751e0054dbf17eefe438a21b048 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 15 May 2025 23:50:06 +0200 Subject: feat(kernel/sched): fixes and improvements on the scheduler's implementation. why? - The previous one wasn't entierly correct on some parts. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/HardwareThreadScheduler.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'dev/kernel/src/HardwareThreadScheduler.cc') diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc index 1df5ad7a..6cb83b3d 100644 --- a/dev/kernel/src/HardwareThreadScheduler.cc +++ b/dev/kernel/src/HardwareThreadScheduler.cc @@ -105,6 +105,8 @@ Void HardwareThread::Wake(const bool wakeup) noexcept { /// @retval false stack is invalid, previous code is running. /***********************************************************************************/ Bool HardwareThread::Switch(HAL::StackFramePtr frame, const ThreadID& pid) { + if (this->IsBusy()) return NO; + this->fStack = frame; this->fPID = pid; -- cgit v1.2.3