diff options
| author | 2019-10-10 08:04:14 -0400 | |
|---|---|---|
| committer | 2019-10-15 11:55:20 -0400 | |
| commit | 1c6a11ab142d18c3444629940f183b7c1865a5e2 (patch) | |
| tree | 3441b0285be95f9341852b86c383880151c38704 /src/core/hle/kernel/thread.cpp | |
| parent | Kernel: Correct redundant yields to only advance time forward. (diff) | |
| download | yuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.tar.gz yuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.tar.xz yuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.zip | |
Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
| -rw-r--r-- | src/core/hle/kernel/thread.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index ae62609e3..563a99bfc 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp | |||
| @@ -133,6 +133,7 @@ void Thread::ResumeFromWait() { | |||
| 133 | 133 | ||
| 134 | void Thread::CancelWait() { | 134 | void Thread::CancelWait() { |
| 135 | ASSERT(GetStatus() == ThreadStatus::WaitSynch); | 135 | ASSERT(GetStatus() == ThreadStatus::WaitSynch); |
| 136 | ClearWaitObjects(); | ||
| 136 | SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); | 137 | SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); |
| 137 | ResumeFromWait(); | 138 | ResumeFromWait(); |
| 138 | } | 139 | } |