diff options
-rw-r--r-- | timer.cpp | 4 | ||||
-rw-r--r-- | timer.hpp | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -51,13 +51,14 @@ int Timer::timeoutHandler(sd_event_source* eventSource, auto timer = static_cast<Timer*>(userData); timer->expired = true; + log<level::INFO>("Timer expired"); // Call optional user call back function if available if(timer->userCallBack) { timer->userCallBack(); } - log<level::INFO>("Timer expired"); + sd_event_source_set_enabled(eventSource, SD_EVENT_OFF); return 0; } @@ -80,6 +81,7 @@ int Timer::startTimer(std::chrono::microseconds timeValue) { // Disable the timer setTimer(SD_EVENT_OFF); + expired = false; // Get the current MONOTONIC time and add the delta auto expireTime = getTime() + timeValue; @@ -67,7 +67,7 @@ class Timer * * This is set to true when the timeoutHandler is called into */ - bool expired = false; + bool expired = true; /** @brief Initializes the timer object with infinite * expiration time and sets up the callback handler |