diff options
| author | yumekiru <338525349+yumekiru@users.noreply.github.com> | 2026-10-28 21:21:11 -0400 |
|---|---|---|
| committer | yumekiru <338525349+yumekiru@users.noreply.github.com> | 2026-10-28 21:21:11 -0400 |
| commit | 535b6769709eb22333af26269f1b16f37adce4db (patch) | |
| tree | da827ff9c4f2f9a5309ee2804ee689f608c0ac2f /src/core/hle/kernel/kernel.cpp | |
| parent | 1af7fe72927af9fc64aa4af117bc9b30043c4dc7 (diff) | |
Import experimental NS2 support and accumulated GPU fixes
Bring the NS2 patch and local follow-up fixes onto Eglantine master.
Includes native graphics services, instruction translation, syncpoint
cancellation acknowledgement, texture handling and diagnostics.
Experimental checkpoint; not ready to merge. The original Eden build
passed, but this rebased branch has not been built or tested.
Assisted-by: OpenAI Codex (implementation, debugging, tests and PR preparation)
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 12 |
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) { |
