General: Fix Stop function
This commit is contained in:
parent
f370de84b1
commit
e6f8bde74b
4 changed files with 25 additions and 5 deletions
|
@ -119,6 +119,7 @@ struct KernelCore::Impl {
|
|||
|
||||
void Initialize(KernelCore& kernel) {
|
||||
Shutdown();
|
||||
RegisterHostThread();
|
||||
|
||||
InitializePhysicalCores();
|
||||
InitializeSystemResourceLimit(kernel);
|
||||
|
@ -135,6 +136,19 @@ struct KernelCore::Impl {
|
|||
next_user_process_id = Process::ProcessIDMin;
|
||||
next_thread_id = 1;
|
||||
|
||||
for (std::size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) {
|
||||
if (suspend_threads[i]) {
|
||||
suspend_threads[i].reset();
|
||||
}
|
||||
}
|
||||
|
||||
for (std::size_t i = 0; i < cores.size(); i++) {
|
||||
cores[i].Shutdown();
|
||||
}
|
||||
cores.clear();
|
||||
|
||||
registered_core_threads.reset();
|
||||
|
||||
process_list.clear();
|
||||
current_process = nullptr;
|
||||
|
||||
|
@ -154,6 +168,7 @@ struct KernelCore::Impl {
|
|||
cores.clear();
|
||||
|
||||
exclusive_monitor.reset();
|
||||
host_thread_ids.clear();
|
||||
}
|
||||
|
||||
void InitializePhysicalCores() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue