diff options
Diffstat (limited to 'Private/Source/SMPManager.cxx')
| -rw-r--r-- | Private/Source/SMPManager.cxx | 6 |
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); |
