diff options
| author | 2019-07-03 23:21:48 -0400 | |
|---|---|---|
| committer | 2020-02-05 23:06:53 -0500 | |
| commit | 7a547b934201863bc11246844ea24ab3b67be65e (patch) | |
| tree | 7369f7d3f3f5eacefe8cacd802dbcc9864dd539f /src/core/hle/kernel | |
| parent | am: Correct IPC object count mismatch. (diff) | |
| download | yuzu-7a547b934201863bc11246844ea24ab3b67be65e.tar.gz yuzu-7a547b934201863bc11246844ea24ab3b67be65e.tar.xz yuzu-7a547b934201863bc11246844ea24ab3b67be65e.zip | |
wait_object: Make wait behavior only require one object to signal.
- This was holdover from citra.
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/wait_object.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/core/hle/kernel/wait_object.cpp b/src/core/hle/kernel/wait_object.cpp index a0c806e8f..1838260fd 100644 --- a/src/core/hle/kernel/wait_object.cpp +++ b/src/core/hle/kernel/wait_object.cpp | |||
| @@ -50,17 +50,8 @@ std::shared_ptr<Thread> WaitObject::GetHighestPriorityReadyThread() const { | |||
| 50 | if (ShouldWait(thread.get())) | 50 | if (ShouldWait(thread.get())) |
| 51 | continue; | 51 | continue; |
| 52 | 52 | ||
| 53 | // A thread is ready to run if it's either in ThreadStatus::WaitSynch | 53 | candidate = thread.get(); |
| 54 | // and the rest of the objects it is waiting on are ready. | 54 | candidate_priority = thread->GetPriority(); |
| 55 | bool ready_to_run = true; | ||
| 56 | if (thread_status == ThreadStatus::WaitSynch) { | ||
| 57 | ready_to_run = thread->AllWaitObjectsReady(); | ||
| 58 | } | ||
| 59 | |||
| 60 | if (ready_to_run) { | ||
| 61 | candidate = thread.get(); | ||
| 62 | candidate_priority = thread->GetPriority(); | ||
| 63 | } | ||
| 64 | } | 55 | } |
| 65 | 56 | ||
| 66 | return SharedFrom(candidate); | 57 | return SharedFrom(candidate); |