|
|
|
@ -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);
|
|
|
|
|