summaryrefslogtreecommitdiff
path: root/src/shutdown
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2022-02-02 15:33:07 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2022-02-04 12:26:58 +0100
commit119d5126d1c69ae0920a6e888e4b419458c5e292 (patch)
tree969728e6209ba1ea55726a04e07d50344f2d087c /src/shutdown
parentf4b1a6b6419b771d26342a9b75b1d77ee9d90133 (diff)
downloadsystemd-119d5126d1c69ae0920a6e888e4b419458c5e292.tar.gz
shutdown: don't stop the watchdog
This basically reverts #22079. Stopping the watchdog is wrong. The reboot watchdog is supposed to cover the whole time from the point when systemd start systemd-reboot until the hardware resets. Otherwise the system may hang in the final shutdown phase. Add a comment, why keeping the watchdog running is correct here.
Diffstat (limited to 'src/shutdown')
-rw-r--r--src/shutdown/shutdown.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
index 15fd6f93d3..2c3cbec02c 100644
--- a/src/shutdown/shutdown.c
+++ b/src/shutdown/shutdown.c
@@ -531,8 +531,9 @@ int main(int argc, char *argv[]) {
need_md_detach ? " MD devices," : "");
}
- /* We're done with the watchdog. */
- watchdog_close(true);
+ /* We're done with the watchdog. Note that the watchdog is explicitly not
+ * stopped here. It remains active to guard against any issues during the
+ * rest of the shutdown sequence. */
watchdog_free_device();
arguments[0] = NULL;