summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Charles Lombardo2024-01-15 13:50:43 -0500
committerGravatar GitHub2024-01-15 13:50:43 -0500
commitdb3a6075f58fd3b4d3de9f2a472c29b57d6e1321 (patch)
treeff03cd23c0bec177c4770d0511024ff84bc5b451 /src
parentMerge pull request #12667 from t895/version-info (diff)
parentserver_manager: respond to session close correctly (diff)
downloadyuzu-db3a6075f58fd3b4d3de9f2a472c29b57d6e1321.tar.gz
yuzu-db3a6075f58fd3b4d3de9f2a472c29b57d6e1321.tar.xz
yuzu-db3a6075f58fd3b4d3de9f2a472c29b57d6e1321.zip
Merge pull request #12610 from liamwhite/reply-and-dont-receive
server_manager: respond to session close correctly
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/server_manager.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/service/server_manager.cpp b/src/core/hle/service/server_manager.cpp
index 15edb23e0..8ef49387d 100644
--- a/src/core/hle/service/server_manager.cpp
+++ b/src/core/hle/service/server_manager.cpp
@@ -256,8 +256,13 @@ Result ServerManager::WaitAndProcessImpl() {
256 256
257 // Wait for a signal. 257 // Wait for a signal.
258 s32 out_index{-1}; 258 s32 out_index{-1};
259 R_TRY(Kernel::KSynchronizationObject::Wait(m_system.Kernel(), &out_index, wait_objs.data(), 259 R_TRY_CATCH(Kernel::KSynchronizationObject::Wait(m_system.Kernel(), &out_index,
260 num_objs, -1)); 260 wait_objs.data(), num_objs, -1)) {
261 R_CATCH(Kernel::ResultSessionClosed) {
262 // On session closed, index is updated and we don't want to return an error.
263 }
264 }
265 R_END_TRY_CATCH;
261 ASSERT(out_index >= 0 && out_index < num_objs); 266 ASSERT(out_index >= 0 && out_index < num_objs);
262 267
263 // Set the output index. 268 // Set the output index.