diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp index a15c5c388b..6702d00564 100644 --- a/Kernel/Thread.cpp +++ b/Kernel/Thread.cpp @@ -893,7 +893,7 @@ Thread::BlockResult Thread::wait_on(WaitQueue& queue, timeval* timeout, Atomic&& timer) +TimerId TimerQueue::add_timer(NonnullOwnPtr&& timer) { ASSERT(timer->expires >= g_uptime); @@ -64,7 +64,7 @@ u64 TimerQueue::add_timer(NonnullOwnPtr&& timer) return m_timer_id_count; } -u64 TimerQueue::add_timer(timeval& deadline, Function&& callback) +TimerId TimerQueue::add_timer(timeval& deadline, Function&& callback) { NonnullOwnPtr timer = make(); timer->expires = g_uptime + seconds_to_ticks(deadline.tv_sec) + microseconds_to_ticks(deadline.tv_usec); @@ -72,7 +72,7 @@ u64 TimerQueue::add_timer(timeval& deadline, Function&& callback) return add_timer(move(timer)); } -bool TimerQueue::cancel_timer(u64 id) +bool TimerQueue::cancel_timer(TimerId id) { auto it = m_timer_queue.find([id](auto& timer) { return timer->id == id; }); if (it.is_end()) diff --git a/Kernel/TimerQueue.h b/Kernel/TimerQueue.h index d0fd9d0381..449609da94 100644 --- a/Kernel/TimerQueue.h +++ b/Kernel/TimerQueue.h @@ -34,8 +34,10 @@ namespace Kernel { +typedef u64 TimerId; + struct Timer { - u64 id; + TimerId id; u64 expires; Function callback; bool operator<(const Timer& rhs) const @@ -56,9 +58,9 @@ class TimerQueue { public: static TimerQueue& the(); - u64 add_timer(NonnullOwnPtr&&); - u64 add_timer(timeval& timeout, Function&& callback); - bool cancel_timer(u64 id); + TimerId add_timer(NonnullOwnPtr&&); + TimerId add_timer(timeval& timeout, Function&& callback); + bool cancel_timer(TimerId id); void fire(); private: