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
commitb6e1736bc3cf6b05a4ca6a75fc671c1a555cefbd (patch)
tree9977b279f22dba2f73944f6ea99453f1ba3319e9 /src/core/hle/kernel/k_process.cpp
parent31331b7b5f72599f14a004e190f697d9141b38be (diff)
parentb31c464b901446d11a737c5ee79fd2a5f7f88a6b (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 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();
}