|
@@ -129,20 +129,18 @@ struct KernelCore::Impl {
|
|
|
|
|
|
|
|
exclusive_monitor.reset();
|
|
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 thead ID to use, 0-3 IDs represent core threads, >3 represent others
|
|
|
next_host_thread_id = Core::Hardware::NUM_CPU_CORES;
|
|
next_host_thread_id = Core::Hardware::NUM_CPU_CORES;
|