diff options
author | bunnei <bunneidev@gmail.com> | 2022-07-31 14:42:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 14:42:33 -0700 |
commit | 3bd726798aae9350365c6318af13c23bdce1759b (patch) | |
tree | cc65994f5877dd77f0797e0618421224644b97a3 /src | |
parent | 9dcfef744c3dc9c1a8c4d9a16bb8eafad9490cfd (diff) | |
parent | 1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d (diff) |
Merge pull request #8692 from DCNick3/write-command-output-on-close
Properly write out the command buffer when serving close request
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/service.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index c64291e7f..dadaf897f 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -194,13 +194,16 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session, Kernel::HLERequestContext& ctx) { const auto guard = LockService(); + Result result = ResultSuccess; + switch (ctx.GetCommandType()) { case IPC::CommandType::Close: case IPC::CommandType::TIPC_Close: { session.Close(); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultSuccess); - return IPC::ERR_REMOTE_PROCESS_DEAD; + result = IPC::ERR_REMOTE_PROCESS_DEAD; + break; } case IPC::CommandType::ControlWithContext: case IPC::CommandType::Control: { @@ -227,7 +230,7 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session, ctx.WriteToOutgoingCommandBuffer(ctx.GetThread()); } - return ResultSuccess; + return result; } /// Initialize Services |