diff options
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index db9f55864..4a139c5e7 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -91,12 +91,6 @@ struct KernelCore::Impl { | |||
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | void Shutdown() { | 93 | void Shutdown() { |
| 94 | // Shutdown all processes. | ||
| 95 | if (current_process) { | ||
| 96 | current_process->Finalize(); | ||
| 97 | current_process->Close(); | ||
| 98 | current_process = nullptr; | ||
| 99 | } | ||
| 100 | process_list.clear(); | 94 | process_list.clear(); |
| 101 | 95 | ||
| 102 | // Close all open server ports. | 96 | // Close all open server ports. |
| @@ -181,6 +175,13 @@ struct KernelCore::Impl { | |||
| 181 | } | 175 | } |
| 182 | } | 176 | } |
| 183 | 177 | ||
| 178 | // Shutdown all processes. | ||
| 179 | if (current_process) { | ||
| 180 | current_process->Finalize(); | ||
| 181 | current_process->Close(); | ||
| 182 | current_process = nullptr; | ||
| 183 | } | ||
| 184 | |||
| 184 | // Track kernel objects that were not freed on shutdown | 185 | // Track kernel objects that were not freed on shutdown |
| 185 | { | 186 | { |
| 186 | std::lock_guard lk(registered_objects_lock); | 187 | std::lock_guard lk(registered_objects_lock); |