aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/server_manager.cpp
diff options
context:
space:
mode:
authorMaufeat <sahyno1996@gmail.com>2026-08-30 08:00:18 +0200
committercrueter <crueter@eden-emu.dev>2026-08-30 08:00:18 +0200
commit28ab4a1a01e15ad5ada032ec1a5d361b63faf487 (patch)
tree565ece5a7314d90054760d56a83135380f623fca /src/core/hle/service/server_manager.cpp
parentccf3de02cf83906c8da3d77ab66df051d5cb242f (diff)
[kernel, service] Return ResultSessionClosed when a session is closed (#4318)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- I tried to run a homebrew game which tried to reply to a closed service. nnSdk expected ResultSessionClosed, we replied with ResultSuccess which mostly works but some have stricter handling and would terminate with abort. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4318 Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
Diffstat (limited to 'src/core/hle/service/server_manager.cpp')
-rw-r--r--src/core/hle/service/server_manager.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/hle/service/server_manager.cpp b/src/core/hle/service/server_manager.cpp
index ee0dc83ee8..4b3db04c76 100644
--- a/src/core/hle/service/server_manager.cpp
+++ b/src/core/hle/service/server_manager.cpp
@@ -393,7 +393,7 @@ Result ServerManager::CompleteSyncRequest(Session* session) {
}
// Send the reply.
- res = server_session->SendReplyHLE(m_system.Kernel());
+ res = server_session->SendReplyHLE(m_system.Kernel(), service_res == IPC::ResultSessionClosed);
// If the session has been closed, we're done.
if (res == Kernel::ResultSessionClosed || service_res == IPC::ResultSessionClosed) {