diff options
| author | Viktor Szépe <viktor@szepe.net> | 2024-01-16 00:09:00 +0000 |
|---|---|---|
| committer | Viktor Szépe <viktor@szepe.net> | 2024-01-16 00:09:00 +0000 |
| commit | 168f763ee60a6f3acf0e4c2acd86d81282a06f70 (patch) | |
| tree | 3d11a790e44945e309f0e68f5332b33b42e72bbb /src/core/hle/service/server_manager.cpp | |
| parent | 9b53207f2534817ef9f08612462b45f823a15e77 (diff) | |
| parent | 33bd495eb3d310392aa0ada0a3eb6e32ab437d54 (diff) | |
Merge remote-tracking branch 'origin/master' into typos3
Diffstat (limited to 'src/core/hle/service/server_manager.cpp')
| -rw-r--r-- | src/core/hle/service/server_manager.cpp | 9 |
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 15edb23e03..8ef49387d5 100644 --- a/src/core/hle/service/server_manager.cpp +++ b/src/core/hle/service/server_manager.cpp @@ -256,8 +256,13 @@ Result ServerManager::WaitAndProcessImpl() { // Wait for a signal. s32 out_index{-1}; - R_TRY(Kernel::KSynchronizationObject::Wait(m_system.Kernel(), &out_index, wait_objs.data(), - num_objs, -1)); + R_TRY_CATCH(Kernel::KSynchronizationObject::Wait(m_system.Kernel(), &out_index, + wait_objs.data(), num_objs, -1)) { + R_CATCH(Kernel::ResultSessionClosed) { + // On session closed, index is updated and we don't want to return an error. + } + } + R_END_TRY_CATCH; ASSERT(out_index >= 0 && out_index < num_objs); // Set the output index. |
