diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-15 23:50:06 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-15 23:50:59 +0200 |
| commit | b55f22d6a4f85751e0054dbf17eefe438a21b048 (patch) | |
| tree | deca3167de5d4cc146ebbfb97b8007a22575c3cc /dev/kernel/src/HardwareThreadScheduler.cc | |
| parent | 2e7e91648ac419086686910e4b8b124041e14edf (diff) | |
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 <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/HardwareThreadScheduler.cc')
| -rw-r--r-- | dev/kernel/src/HardwareThreadScheduler.cc | 2 |
1 files changed, 2 insertions, 0 deletions
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; |
