diff options
Diffstat (limited to 'dev/kernel')
| -rw-r--r-- | dev/kernel/KernelKit/HardwareThreadScheduler.h | 2 | ||||
| -rw-r--r-- | dev/kernel/src/HardwareThreadScheduler.cc | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/dev/kernel/KernelKit/HardwareThreadScheduler.h b/dev/kernel/KernelKit/HardwareThreadScheduler.h index 76327a93..e26a353a 100644 --- a/dev/kernel/KernelKit/HardwareThreadScheduler.h +++ b/dev/kernel/KernelKit/HardwareThreadScheduler.h @@ -120,7 +120,7 @@ class HardwareThreadScheduler final : public ISchedulable { private: Array<HardwareThread, kMaxAPInsideSched> fThreadList; - ThreadID fCurrentThread{0}; + ThreadID fCurrentThreadIdx{0}; }; /// @brief wakes up thread. diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc index 86f46718..a4b6b4b8 100644 --- a/dev/kernel/src/HardwareThreadScheduler.cc +++ b/dev/kernel/src/HardwareThreadScheduler.cc @@ -134,7 +134,7 @@ HardwareThreadScheduler& HardwareThreadScheduler::The() { /// @brief Get Stack Frame of AP. /***********************************************************************************/ HAL::StackFramePtr HardwareThreadScheduler::Leak() noexcept { - return fThreadList[fCurrentThread].fStack; + return fThreadList[fCurrentThreadIdx].fStack; } /***********************************************************************************/ @@ -150,6 +150,7 @@ Ref<HardwareThread*> HardwareThreadScheduler::operator[](SizeT idx) { return {kFakeThread}; } + fCurrentThreadIdx = idx; return &fThreadList[idx]; } |
