aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorDjihads <76681596+Djihads80@users.noreply.github.com>2026-10-29 02:25:36 +0100
committerGitHub <noreply@github.com>2026-10-29 02:25:36 +0100
commit0bb5055b6541c74f47603a8dff0569a509cbaf18 (patch)
treeda827ff9c4f2f9a5309ee2804ee689f608c0ac2f /src/core/hle/kernel/kernel.cpp
parent1af7fe72927af9fc64aa4af117bc9b30043c4dc7 (diff)
parent535b6769709eb22333af26269f1b16f37adce4db (diff)
Merge pull request #1 from Djihads80/yumekiru/ns2-progress-v2
Experimental NS2 support and accumulated GPU fixes
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 4f1d849209..c7beb9c3ce 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -120,13 +120,13 @@ struct KernelCore::Impl {
}
void TerminateAllProcesses() {
- std::scoped_lock lk{process_list_lock};
- for (auto& process : process_list) {
- process->Terminate(system.Kernel());
- process->Close(system.Kernel());
- process = nullptr;
+ auto& kernel = system.Kernel();
+ // Applet cleanup can remove processes while termination waits for its threads.
+ auto processes = kernel.GetProcessList();
+ for (auto& process : processes) {
+ process->Terminate(kernel);
+ kernel.RemoveProcess(process.GetPointerUnsafe());
}
- process_list.clear();
}
void Shutdown(KernelCore& kernel) {