diff options
author | bunnei <bunneidev@gmail.com> | 2015-01-11 13:39:23 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-01-11 13:39:23 -0500 |
commit | 542b0b0057fcfa54ecc31dfe30d9bb435ca8f722 (patch) | |
tree | 9ca12fd4e5f5b13b4a75495c276a1b869670f542 /src | |
parent | 63d05fca367227f32c80098270725e06c2eb3531 (diff) | |
parent | b68d51ed3047fe45e270b6d23de615c3f8c4b58b (diff) |
Merge pull request #466 from Subv/wake
Thread: Prevent waking a thread multiple times.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index dd20ca30e..bc86a7c59 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -263,6 +263,9 @@ void WakeThreadAfterDelay(Thread* thread, s64 nanoseconds) { /// Resumes a thread from waiting by marking it as "ready" void Thread::ResumeFromWait() { + // Cancel any outstanding wakeup events + CoreTiming::UnscheduleEvent(ThreadWakeupEventType, GetHandle()); + status &= ~THREADSTATUS_WAIT; wait_object = nullptr; wait_type = WAITTYPE_NONE; |