aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_process.cpp
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2024-01-15 13:50:58 -0500
committerGitHub <noreply@github.com>2024-01-15 13:50:58 -0500
commit0127cec371164c5cb59233b860c0932c66d9d697 (patch)
tree9977b279f22dba2f73944f6ea99453f1ba3319e9 /src/core/hle/kernel/k_process.cpp
parentdb3a6075f58fd3b4d3de9f2a472c29b57d6e1321 (diff)
parent2f0b57ca13fb91730d7e210f6f4504357ef6cd0a (diff)
Merge pull request #12611 from liamwhite/resource-management-is-hard
kernel: fix resource management issues
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
-rw-r--r--src/core/hle/kernel/k_process.cpp6
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 068e71dff..ae332a550 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();
}