core/manager: do not exclude watchdog logic from busy-loop protection

As reported in https://github.com/systemd/systemd/issues/35405, if the watchdog
ping failed, we effectively started a busy loop here. The previous commits
should fix this, but in general, the protection here is intended as a safety
net in case the logic is broken somewhere else. We shouldn't exclude the
watchdog stuff from this.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2025-03-21 15:06:28 +01:00
parent ab596e4cde
commit a9cee8f4de

View File

@@ -3352,14 +3352,14 @@ int manager_loop(Manager *m) {
while (m->objective == MANAGER_OK) {
(void) watchdog_ping();
if (!ratelimit_below(&rl)) {
/* Yay, something is going seriously wrong, pause a little */
log_warning("Looping too fast. Throttling execution a little.");
sleep(1);
}
(void) watchdog_ping();
if (manager_dispatch_load_queue(m) > 0)
continue;