kernel: Fix resource release exception on exit

After rewriting the resource limit, objects releasing reserved resources require a live kernel instance.
This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
This commit is contained in:
ameerj 2021-02-20 20:51:11 -05:00
parent 2807a98168
commit 8e4c9c9852
4 changed files with 16 additions and 2 deletions

View file

@ -101,8 +101,6 @@ struct KernelCore::Impl {
current_process = nullptr;
system_resource_limit = nullptr;
global_handle_table.Clear();
preemption_event = nullptr;
@ -111,6 +109,13 @@ struct KernelCore::Impl {
exclusive_monitor.reset();
hid_shared_mem = nullptr;
font_shared_mem = nullptr;
irs_shared_mem = nullptr;
time_shared_mem = nullptr;
system_resource_limit = nullptr;
// Next host thead ID to use, 0-3 IDs represent core threads, >3 represent others
next_host_thread_id = Core::Hardware::NUM_CPU_CORES;
}