diff options
| author | 2017-01-02 13:53:10 -0500 | |
|---|---|---|
| committer | 2017-01-04 15:58:47 -0500 | |
| commit | b6a0355568ee327bef8957b9a2498897b96e1278 (patch) | |
| tree | c2b4ac0c55ecfc2c60495e85e88e64c0f2bb6d8f /src/core/hle/svc.cpp | |
| parent | Kernel/Mutex: Implemented priority inheritance. (diff) | |
| download | yuzu-b6a0355568ee327bef8957b9a2498897b96e1278.tar.gz yuzu-b6a0355568ee327bef8957b9a2498897b96e1278.tar.xz yuzu-b6a0355568ee327bef8957b9a2498897b96e1278.zip | |
Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.
Diffstat (limited to 'src/core/hle/svc.cpp')
| -rw-r--r-- | src/core/hle/svc.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index 5d6359344..b6e34a9e9 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp | |||
| @@ -373,8 +373,9 @@ static ResultCode WaitSynchronizationN(s32* out, Kernel::Handle* handles, s32 ha | |||
| 373 | return ERR_SYNC_TIMEOUT; | 373 | return ERR_SYNC_TIMEOUT; |
| 374 | } else { | 374 | } else { |
| 375 | // Find the first object that is acquirable in the provided list of objects | 375 | // Find the first object that is acquirable in the provided list of objects |
| 376 | auto itr = std::find_if(objects.begin(), objects.end(), | 376 | auto itr = std::find_if(objects.begin(), objects.end(), [thread](const ObjectPtr& object) { |
| 377 | [thread](const ObjectPtr& object) { return !object->ShouldWait(thread); }); | 377 | return !object->ShouldWait(thread); |
| 378 | }); | ||
| 378 | 379 | ||
| 379 | if (itr != objects.end()) { | 380 | if (itr != objects.end()) { |
| 380 | // We found a ready object, acquire it and set the result value | 381 | // We found a ready object, acquire it and set the result value |