diff options
author | bunnei <bunneidev@gmail.com> | 2021-03-01 21:42:06 -0800 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-03-01 21:42:06 -0800 |
commit | 925671071cd3f84120d9b2367142d19f76b5107e (patch) | |
tree | d6de95c8a746aff4fb6903bdea65b507dba4b111 /src/core/core.cpp | |
parent | cd25817938f804f7f95b5d72fd9540ac4449b003 (diff) |
core: Shutdown: Move kernel cleanup to later in shutdown.
- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r-- | src/core/core.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index de6305e2a4..305f56ff1c 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -299,28 +299,17 @@ struct System::Impl { gpu_core->WaitIdle(); } - // Shutdown emulation session services.reset(); service_manager.reset(); cheat_engine.reset(); telemetry_session.reset(); - - // Close all CPU/threading state cpu_manager.Shutdown(); - - // Release the Time Manager's resources time_manager.Shutdown(); - - // Shutdown kernel and core timing core_timing.Shutdown(); - kernel.Shutdown(); - - // Close app loader app_loader.reset(); gpu_core.reset(); perf_stats.reset(); - - // Clear all applets + kernel.Shutdown(); applet_manager.ClearAll(); LOG_DEBUG(Core, "Shutdown OK"); |