summaryrefslogtreecommitdiffhomepage
path: root/Private/Source/SMPManager.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Source/SMPManager.cxx')
-rw-r--r--Private/Source/SMPManager.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/Private/Source/SMPManager.cxx b/Private/Source/SMPManager.cxx
index 27bf5892..37c2e592 100644
--- a/Private/Source/SMPManager.cxx
+++ b/Private/Source/SMPManager.cxx
@@ -63,7 +63,9 @@ void HardwareThread::Wake(const bool wakeup) noexcept {
bool HardwareThread::Switch(HAL::StackFrame* stack) {
if (stack == nullptr) return false;
- return rt_do_context_switch(m_Stack, stack) == 0;
+ m_Stack = stack;
+
+ return rt_do_context_switch(m_Stack) == 0;
}
///! @brief Tells if processor is waked up.
@@ -110,7 +112,7 @@ bool SMPManager::Switch(HAL::StackFrame* stack) {
m_ThreadList[idx].Leak().Leak().Busy(true);
- Boolean ret = (rt_do_context_switch(rt_get_current_context(), stack) == 0);
+ Boolean ret = (rt_do_context_switch(stack) == 0);
m_ThreadList[idx].Leak().Leak().Busy(false);