diff options
| author | Liam <byteslice@airmail.cc> | 2024-01-07 13:59:48 -0500 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2024-01-12 18:31:33 -0500 |
| commit | 12fe8c5b76d34269e45bef13124dfa2e77316b4c (patch) | |
| tree | 4051a2e4e1c34370fa259ecf36783b76ea66a56f /src/core/hle/kernel/k_process.cpp | |
| parent | 7a556e94e4353e7731e4c6cedc438a638cbc0e51 (diff) | |
kernel: fix page leak on process termination
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
| -rw-r--r-- | src/core/hle/kernel/k_process.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 068e71dffd..ae332a5506 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp @@ -171,6 +171,12 @@ void KProcess::Finalize() { m_resource_limit->Close(); } + // Clear expensive resources, as the destructor is not called for guest objects. + for (auto& interface : m_arm_interfaces) { + interface.reset(); + } + m_exclusive_monitor.reset(); + // Perform inherited finalization. KSynchronizationObject::Finalize(); } |
