Thread: Prevent waking a thread multiple times.

If a thread was woken up by something, cancel the wakeup timeout.
pull/8/head
Subv 10 years ago
parent e213f91373
commit b68d51ed30

@ -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;

Loading…
Cancel
Save