summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--timer.cpp4
-rw-r--r--timer.hpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/timer.cpp b/timer.cpp
index 4e8fd9a..06965de 100644
--- a/timer.cpp
+++ b/timer.cpp
@@ -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;
diff --git a/timer.hpp b/timer.hpp
index 6a59c0d..e39d85c 100644
--- a/timer.hpp
+++ b/timer.hpp
@@ -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
OpenPOWER on IntegriCloud