summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 047fa0c19..d241b65c7 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1394,10 +1394,10 @@ static ResultCode SignalProcessWideKey(VAddr condition_variable_addr, s32 target
1394 // them all. 1394 // them all.
1395 std::size_t last = waiting_threads.size(); 1395 std::size_t last = waiting_threads.size();
1396 if (target != -1) 1396 if (target != -1)
1397 last = target; 1397 last = std::min(waiting_threads.size(), static_cast<std::size_t>(target));
1398 1398
1399 // If there are no threads waiting on this condition variable, just exit 1399 // If there are no threads waiting on this condition variable, just exit
1400 if (last > waiting_threads.size()) 1400 if (last == 0)
1401 return RESULT_SUCCESS; 1401 return RESULT_SUCCESS;
1402 1402
1403 for (std::size_t index = 0; index < last; ++index) { 1403 for (std::size_t index = 0; index < last; ++index) {