diff options
Diffstat (limited to 'src/core/hle/kernel/timer.cpp')
| -rw-r--r-- | src/core/hle/kernel/timer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp index b50cf520d..ec85b7ec8 100644 --- a/src/core/hle/kernel/timer.cpp +++ b/src/core/hle/kernel/timer.cpp | |||
| @@ -31,11 +31,6 @@ SharedPtr<Timer> Timer::Create(ResetType reset_type, std::string name) { | |||
| 31 | timer->interval_delay = 0; | 31 | timer->interval_delay = 0; |
| 32 | timer->callback_handle = timer_callback_handle_table.Create(timer).MoveFrom(); | 32 | timer->callback_handle = timer_callback_handle_table.Create(timer).MoveFrom(); |
| 33 | 33 | ||
| 34 | if (reset_type == ResetType::Pulse) { | ||
| 35 | LOG_ERROR(Kernel, "Unimplemented timer reset type Pulse"); | ||
| 36 | UNIMPLEMENTED(); | ||
| 37 | } | ||
| 38 | |||
| 39 | return timer; | 34 | return timer; |
| 40 | } | 35 | } |
| 41 | 36 | ||
| @@ -70,6 +65,13 @@ void Timer::Clear() { | |||
| 70 | signaled = false; | 65 | signaled = false; |
| 71 | } | 66 | } |
| 72 | 67 | ||
| 68 | void Timer::WakeupAllWaitingThreads() { | ||
| 69 | WaitObject::WakeupAllWaitingThreads(); | ||
| 70 | |||
| 71 | if (reset_type == ResetType::Pulse) | ||
| 72 | signaled = false; | ||
| 73 | } | ||
| 74 | |||
| 73 | /// The timer callback event, called when a timer is fired | 75 | /// The timer callback event, called when a timer is fired |
| 74 | static void TimerCallback(u64 timer_handle, int cycles_late) { | 76 | static void TimerCallback(u64 timer_handle, int cycles_late) { |
| 75 | SharedPtr<Timer> timer = | 77 | SharedPtr<Timer> timer = |