summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/HardwareThreadScheduler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/src/HardwareThreadScheduler.cc')
-rw-r--r--dev/kernel/src/HardwareThreadScheduler.cc2
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;