Fix dangling kernel objects when exiting

This commit is contained in:
Feng Chen 2021-10-26 18:12:13 +08:00
parent 052017e189
commit dd29285e35
2 changed files with 13 additions and 11 deletions

View file

@ -91,12 +91,6 @@ struct KernelCore::Impl {
}
void Shutdown() {
// Shutdown all processes.
if (current_process) {
current_process->Finalize();
current_process->Close();
current_process = nullptr;
}
process_list.clear();
// Close all open server ports.
@ -181,6 +175,13 @@ struct KernelCore::Impl {
}
}
// Shutdown all processes.
if (current_process) {
current_process->Finalize();
current_process->Close();
current_process = nullptr;
}
// Track kernel objects that were not freed on shutdown
{
std::lock_guard lk(registered_objects_lock);