diff options
Diffstat (limited to 'services/surfaceflinger/Scheduler/Timer.cpp')
-rw-r--r-- | services/surfaceflinger/Scheduler/Timer.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/services/surfaceflinger/Scheduler/Timer.cpp b/services/surfaceflinger/Scheduler/Timer.cpp index c9c2d84a2a..7c5058e431 100644 --- a/services/surfaceflinger/Scheduler/Timer.cpp +++ b/services/surfaceflinger/Scheduler/Timer.cpp @@ -88,8 +88,8 @@ nsecs_t Timer::now() const { return systemTime(SYSTEM_TIME_MONOTONIC); } -void Timer::alarmAt(std::function<void()> const& cb, nsecs_t time) { - std::lock_guard lock(mMutex); +void Timer::alarmIn(std::function<void()> const& cb, nsecs_t fireIn) { + std::lock_guard<decltype(mMutex)> lk(mMutex); using namespace std::literals; static constexpr int ns_per_s = std::chrono::duration_cast<std::chrono::nanoseconds>(1s).count(); @@ -99,17 +99,17 @@ void Timer::alarmAt(std::function<void()> const& cb, nsecs_t time) { struct itimerspec old_timer; struct itimerspec new_timer { .it_interval = {.tv_sec = 0, .tv_nsec = 0}, - .it_value = {.tv_sec = static_cast<long>(time / ns_per_s), - .tv_nsec = static_cast<long>(time % ns_per_s)}, + .it_value = {.tv_sec = static_cast<long>(fireIn / ns_per_s), + .tv_nsec = static_cast<long>(fireIn % ns_per_s)}, }; - if (timerfd_settime(mTimerFd, TFD_TIMER_ABSTIME, &new_timer, &old_timer)) { + if (timerfd_settime(mTimerFd, 0, &new_timer, &old_timer)) { ALOGW("Failed to set timerfd %s (%i)", strerror(errno), errno); } } void Timer::alarmCancel() { - std::lock_guard lock(mMutex); + std::lock_guard<decltype(mMutex)> lk(mMutex); struct itimerspec old_timer; struct itimerspec new_timer { @@ -192,7 +192,7 @@ bool Timer::dispatch() { setDebugState(DebugState::Running); std::function<void()> cb; { - std::lock_guard lock(mMutex); + std::lock_guard<decltype(mMutex)> lk(mMutex); cb = mCallback; } if (cb) { @@ -211,7 +211,7 @@ bool Timer::dispatch() { } void Timer::setDebugState(DebugState state) { - std::lock_guard lock(mMutex); + std::lock_guard lk(mMutex); mDebugState = state; } @@ -233,7 +233,7 @@ const char* Timer::strDebugState(DebugState state) const { } void Timer::dump(std::string& result) const { - std::lock_guard lock(mMutex); + std::lock_guard lk(mMutex); StringAppendF(&result, "\t\tDebugState: %s\n", strDebugState(mDebugState)); } |