summaryrefslogtreecommitdiffstats
path: root/app/watchdog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'app/watchdog.cpp')
-rw-r--r--app/watchdog.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/watchdog.cpp b/app/watchdog.cpp
index d537683..f28ff80 100644
--- a/app/watchdog.cpp
+++ b/app/watchdog.cpp
@@ -28,6 +28,13 @@ ipmi_ret_t ipmi_app_watchdog_reset(
WatchdogService wd_service;
WatchdogService::Properties wd_prop = wd_service.getProperties();
+ // Notify the caller if we haven't initialized our timer yet
+ // so it can configure actions and timeouts
+ if (!wd_prop.initialized)
+ {
+ return IPMI_WDOG_CC_NOT_INIT;
+ }
+
// Reset the countdown to make sure we don't expire our timer
wd_service.setTimeRemaining(wd_prop.interval);
@@ -114,6 +121,9 @@ ipmi_ret_t ipmi_app_watchdog_set(
wd_service.setInterval(interval);
wd_service.setTimeRemaining(interval);
+ // Mark as initialized so that future resets behave correctly
+ wd_service.setInitialized(true);
+
return IPMI_CC_OK;
}
catch (const std::domain_error &)
OpenPOWER on IntegriCloud