diff --git a/src/core/manager.c b/src/core/manager.c index 7d3602c71cd..2b8270f1465 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2978,13 +2978,8 @@ int manager_loop(Manager *m) { return log_error_errno(r, "Failed to enable SIGCHLD event source: %m"); while (m->objective == MANAGER_OK) { - usec_t watchdog_usec; - watchdog_usec = manager_get_watchdog(m, WATCHDOG_RUNTIME); - if (m->runtime_watchdog_running) - (void) watchdog_ping(); - else if (timestamp_is_set(watchdog_usec)) - manager_retry_runtime_watchdog(m); + (void) watchdog_ping(); if (!ratelimit_below(&rl)) { /* Yay, something is going seriously wrong, pause a little */ @@ -3198,7 +3193,6 @@ usec_t manager_get_watchdog(Manager *m, WatchdogType t) { } void manager_set_watchdog(Manager *m, WatchdogType t, usec_t timeout) { - int r = 0; assert(m); @@ -3210,22 +3204,16 @@ void manager_set_watchdog(Manager *m, WatchdogType t, usec_t timeout) { if (t == WATCHDOG_RUNTIME) if (!timestamp_is_set(m->watchdog_overridden[WATCHDOG_RUNTIME])) { - if (timestamp_is_set(timeout)) { - r = watchdog_set_timeout(&timeout); - - if (r >= 0) - m->runtime_watchdog_running = true; - } else { + if (timestamp_is_set(timeout)) + (void) watchdog_set_timeout(&timeout); + else watchdog_close(true); - m->runtime_watchdog_running = false; - } } m->watchdog[t] = timeout; } int manager_override_watchdog(Manager *m, WatchdogType t, usec_t timeout) { - int r = 0; assert(m); @@ -3239,36 +3227,16 @@ int manager_override_watchdog(Manager *m, WatchdogType t, usec_t timeout) { usec_t *p; p = timestamp_is_set(timeout) ? &timeout : &m->watchdog[t]; - if (timestamp_is_set(*p)) { - r = watchdog_set_timeout(p); - - if (r >= 0) - m->runtime_watchdog_running = true; - } else { + if (timestamp_is_set(*p)) + (void) watchdog_set_timeout(p); + else watchdog_close(true); - m->runtime_watchdog_running = false; - } } m->watchdog_overridden[t] = timeout; - return 0; } -void manager_retry_runtime_watchdog(Manager *m) { - int r = 0; - - assert(m); - - if (timestamp_is_set(m->watchdog_overridden[WATCHDOG_RUNTIME])) - r = watchdog_set_timeout(&m->watchdog_overridden[WATCHDOG_RUNTIME]); - else - r = watchdog_set_timeout(&m->watchdog[WATCHDOG_RUNTIME]); - - if (r >= 0) - m->runtime_watchdog_running = true; -} - int manager_reload(Manager *m) { _cleanup_(manager_reloading_stopp) Manager *reloading = NULL; _cleanup_fdset_free_ FDSet *fds = NULL; diff --git a/src/core/manager.h b/src/core/manager.h index 1220c9fb161..4f1c6fec63c 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -248,8 +248,6 @@ struct Manager { usec_t watchdog[_WATCHDOG_TYPE_MAX]; usec_t watchdog_overridden[_WATCHDOG_TYPE_MAX]; - bool runtime_watchdog_running; /* Whether the runtime HW watchdog was started, so we know if we still need to get the real timeout from the hardware */ - dual_timestamp timestamps[_MANAGER_TIMESTAMP_MAX]; /* Data specific to the device subsystem */ @@ -566,7 +564,6 @@ ManagerTimestamp manager_timestamp_initrd_mangle(ManagerTimestamp s); usec_t manager_get_watchdog(Manager *m, WatchdogType t); void manager_set_watchdog(Manager *m, WatchdogType t, usec_t timeout); int manager_override_watchdog(Manager *m, WatchdogType t, usec_t timeout); -void manager_retry_runtime_watchdog(Manager *m); const char* oom_policy_to_string(OOMPolicy i) _const_; OOMPolicy oom_policy_from_string(const char *s) _pure_;