summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-14 17:58:12 -0800
committerbunnei <bunneidev@gmail.com>2020-12-28 16:33:48 -0800
commitbea51d948dd4297d6677249562a699d25ad728b0 (patch)
treecdf58f32538fc04957a5117fa39f0c29b670fe5a /src
parent6d2f9428c5387abaae03478c9204d164a718ffe5 (diff)
hle: service: Ensure system is powered on before writing IPC result.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/service.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index abf3d1ea3..d55fba831 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -184,7 +184,11 @@ ResultCode ServiceFrameworkBase::HandleSyncRequest(Kernel::HLERequestContext& co
UNIMPLEMENTED_MSG("command_type={}", context.GetCommandType());
}
- context.WriteToOutgoingCommandBuffer(context.GetThread());
+ // If emulation was shutdown, we are closing service threads, do not write the response back to
+ // memory that may be shutting down as well.
+ if (system.IsPoweredOn()) {
+ context.WriteToOutgoingCommandBuffer(context.GetThread());
+ }
return RESULT_SUCCESS;
}