if (MANAGER_IS_USER(m))
return USEC_INFINITY;
- if (timestamp_is_set(m->watchdog_overridden[t]))
+ if (m->watchdog_overridden[t] != USEC_INFINITY)
return m->watchdog_overridden[t];
return m->watchdog[t];
if (m->watchdog[t] == timeout)
return;
- if (t == WATCHDOG_RUNTIME) {
- if (!timestamp_is_set(m->watchdog_overridden[WATCHDOG_RUNTIME]))
+ if (m->watchdog_overridden[t] == USEC_INFINITY) {
+ if (t == WATCHDOG_RUNTIME)
(void) watchdog_setup(timeout);
- } else if (t == WATCHDOG_PRETIMEOUT)
- if (m->watchdog_overridden[WATCHDOG_PRETIMEOUT] == USEC_INFINITY)
+ else if (t == WATCHDOG_PRETIMEOUT)
(void) watchdog_setup_pretimeout(timeout);
+ }
m->watchdog[t] = timeout;
}
void manager_override_watchdog(Manager *m, WatchdogType t, usec_t timeout) {
+ usec_t usec;
assert(m);
if (m->watchdog_overridden[t] == timeout)
return;
- if (t == WATCHDOG_RUNTIME) {
- usec_t usec = timestamp_is_set(timeout) ? timeout : m->watchdog[t];
-
+ usec = (timeout == USEC_INFINITY) ? m->watchdog[t] : timeout;
+ if (t == WATCHDOG_RUNTIME)
(void) watchdog_setup(usec);
- } else if (t == WATCHDOG_PRETIMEOUT)
- (void) watchdog_setup_pretimeout(timeout);
+ else if (t == WATCHDOG_PRETIMEOUT)
+ (void) watchdog_setup_pretimeout(usec);
m->watchdog_overridden[t] = timeout;
}