diff options
| -rw-r--r-- | src/core/hle/kernel/timer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp index 08b3ea8c0..ce6bbd719 100644 --- a/src/core/hle/kernel/timer.cpp +++ b/src/core/hle/kernel/timer.cpp | |||
| @@ -42,6 +42,9 @@ bool Timer::ShouldWait() { | |||
| 42 | 42 | ||
| 43 | void Timer::Acquire() { | 43 | void Timer::Acquire() { |
| 44 | ASSERT_MSG( !ShouldWait(), "object unavailable!"); | 44 | ASSERT_MSG( !ShouldWait(), "object unavailable!"); |
| 45 | |||
| 46 | if (reset_type == RESETTYPE_ONESHOT) | ||
| 47 | signaled = false; | ||
| 45 | } | 48 | } |
| 46 | 49 | ||
| 47 | void Timer::Set(s64 initial, s64 interval) { | 50 | void Timer::Set(s64 initial, s64 interval) { |
| @@ -84,9 +87,6 @@ static void TimerCallback(u64 timer_handle, int cycles_late) { | |||
| 84 | // Resume all waiting threads | 87 | // Resume all waiting threads |
| 85 | timer->WakeupAllWaitingThreads(); | 88 | timer->WakeupAllWaitingThreads(); |
| 86 | 89 | ||
| 87 | if (timer->reset_type == RESETTYPE_ONESHOT) | ||
| 88 | timer->signaled = false; | ||
| 89 | |||
| 90 | if (timer->interval_delay != 0) { | 90 | if (timer->interval_delay != 0) { |
| 91 | // Reschedule the timer with the interval delay | 91 | // Reschedule the timer with the interval delay |
| 92 | u64 interval_microseconds = timer->interval_delay / 1000; | 92 | u64 interval_microseconds = timer->interval_delay / 1000; |