diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-03-13 19:04:40 -0400 |
|---|---|---|
| committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-03-19 20:32:46 -0400 |
| commit | 774f139e65eda2e0e0a76f859ae03b533786bbf9 (patch) | |
| tree | d282b074b0e45685c2b6c92b09d550a287397418 /src/core/hle/kernel/svc.cpp | |
| parent | 746167f11a8fd025d6b2d70fe5129143f97af91d (diff) | |
Small fixes to address_arbiter to better match the IDB.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 |
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 // them all. std::size_t last = waiting_threads.size(); if (target != -1) - last = target; + last = std::min(waiting_threads.size(), static_cast<std::size_t>(target)); // If there are no threads waiting on this condition variable, just exit - if (last > waiting_threads.size()) + if (last == 0) return RESULT_SUCCESS; for (std::size_t index = 0; index < last; ++index) { |
