diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-23 17:00:46 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-05-05 16:40:52 -0700 |
commit | 39a8dba9a67385b2e246dbf96b22adcb8fc53c03 (patch) | |
tree | 7c82d079b06324206a59cb4fca16ba78b7fdf8fc /src/core/hle/kernel/kernel.cpp | |
parent | 626f746971d1d3216a38b20680959df3a1f5f256 (diff) |
hle: kernel: Cleanup shutdown of persistent kernel objects.
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r-- | src/core/hle/kernel/kernel.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index c939bb9030..b2eb51bde9 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -129,20 +129,18 @@ struct KernelCore::Impl { exclusive_monitor.reset(); - hid_shared_mem->Close(); - hid_shared_mem = nullptr; - - font_shared_mem->Close(); - font_shared_mem = nullptr; - - irs_shared_mem->Close(); - irs_shared_mem = nullptr; - - time_shared_mem->Close(); - time_shared_mem = nullptr; - - system_resource_limit->Close(); - system_resource_limit = nullptr; + // Cleanup persistent kernel objects + auto CleanupObject = [](KAutoObject* obj) { + if (obj) { + obj->Close(); + obj = nullptr; + } + }; + CleanupObject(hid_shared_mem); + CleanupObject(font_shared_mem); + CleanupObject(irs_shared_mem); + CleanupObject(time_shared_mem); + CleanupObject(system_resource_limit); // Next host thead ID to use, 0-3 IDs represent core threads, >3 represent others next_host_thread_id = Core::Hardware::NUM_CPU_CORES; |