diff options
Diffstat (limited to 'dev/kernel/src/UserProcessScheduler.cc')
| -rw-r--r-- | dev/kernel/src/UserProcessScheduler.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index 15f55839..5e8cc89e 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -325,6 +325,8 @@ namespace Kernel return kErrorProcessFault; } + rt_set_memory(process.StackFrame, 0, sizeof(HAL::StackFrame)); + #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ flags = HAL::kMMFlagsPresent; flags |= HAL::kMMFlagsWr; @@ -351,7 +353,6 @@ namespace Kernel } process.StackReserve = new UInt8[process.StackSize]; - rt_set_memory(process.StackReserve, 0, process.StackSize); if (!process.StackReserve) { @@ -359,6 +360,8 @@ namespace Kernel return kErrorProcessFault; } + rt_set_memory(process.StackReserve, 0, process.StackSize); + #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ flags = HAL::kMMFlagsPresent; flags |= HAL::kMMFlagsWr; |
