diff options
author | Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com> | 2017-05-30 15:34:23 +0530 |
---|---|---|
committer | Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com> | 2017-06-02 16:37:51 +0530 |
commit | 8c5a2298627c6cbe37782f3b33e8d6c43ed9c4d8 (patch) | |
tree | 784fc6e0fa0a9c79ac4d14d43a2c71b5d1ad9ebc /timer.cpp | |
parent | d7a3f13ef17e34a39bae3ff482c15181e40cc0d7 (diff) | |
download | phosphor-watchdog-8c5a2298627c6cbe37782f3b33e8d6c43ed9c4d8.tar.gz phosphor-watchdog-8c5a2298627c6cbe37782f3b33e8d6c43ed9c4d8.zip |
Invoke optional callback function on timer expiration
When the timer expires, it calls into it's own timeout
handler which matches with sd_event callback handler.
However, it is beneficial if the users of timer register
their own callback routine so that they can execute some
operations on timeout.
Change-Id: Ia88cb4e3c17f6dd8d4528fa193ec7927f083a92b
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
Diffstat (limited to 'timer.cpp')
-rw-r--r-- | timer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -44,12 +44,16 @@ int Timer::timeoutHandler(sd_event_source* eventSource, { using namespace phosphor::logging; + log<level::INFO>("Timer Expired"); + auto timer = static_cast<Timer*>(userData); timer->expire = true; - log<level::INFO>("Timer Expired"); - - //TODO: Need to call user callback function. + // Call an optional callback function + if(timer->userCallBack) + { + timer->userCallBack(); + } return 0; } |