From 54d2f16c22ca8294c3c8777b2216428a0e9d7f25 Mon Sep 17 00:00:00 2001 From: Weiyi Wang Date: Tue, 12 Mar 2019 19:06:20 -0400 Subject: [PATCH] core: reset kernel after service manager in Shutdown Services can hold kernel objects and do cleanup upon destruction, so we need to keep the kernel alive longer. The new order approximnately resembles the reverse construction order. I will revisit the ordering issue and make it less error-prone after global state cleanup --- src/core/core.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/core.cpp b/src/core/core.cpp index 9473b5c0c..d48f0c8ec 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -291,7 +291,6 @@ void System::Shutdown() { // Shutdown emulation session GDBStub::Shutdown(); VideoCore::Shutdown(); - kernel.reset(); HW::Shutdown(); telemetry_session.reset(); rpc_server.reset(); @@ -299,6 +298,7 @@ void System::Shutdown() { service_manager.reset(); dsp_core.reset(); cpu_core.reset(); + kernel.reset(); timing.reset(); app_loader.reset();