From e96d6be763014be75d480fde503d0b77f41194a0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 5 Apr 2012 22:08:10 +0200 Subject: systemd: add hardware watchdog support This adds minimal hardware watchdog support to PID 1. The idea is that PID 1 supervises and watchdogs system services, while the hardware watchdog is used to supervise PID 1. This adds two hardware watchdog configuration options, for the runtime watchdog and for a shutdown watchdog. The former is active during normal operation, the latter only at reboots to ensure that if a clean reboot times out we reboot nonetheless. If the runtime watchdog is enabled PID 1 will automatically wake up at half the configured interval and write to the watchdog daemon. By default we enable the shutdown watchdog, but leave the runtime watchdog disabled in order not to break independent hardware watchdog daemons people might be using. This is only the most basic hookup. If necessary we can later on hook up the watchdog ping more closely with services deemed crucial. --- Makefile.am | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 9d05c7c82..5a8d22d61 100644 --- a/Makefile.am +++ b/Makefile.am @@ -229,7 +229,8 @@ noinst_PROGRAMS = \ test-cgroup \ test-env-replace \ test-strv \ - test-install + test-install \ + test-watchdog dist_pkgsysconf_DATA = \ src/system.conf \ @@ -612,6 +613,8 @@ libsystemd_core_la_SOURCES = \ src/tcpwrap.h \ src/cgroup-attr.c \ src/cgroup-attr.h \ + src/watchdog.c \ + src/watchdog.h \ src/sd-daemon.c \ src/sd-id128.c \ src/macro.h \ @@ -820,6 +823,14 @@ test_install_CFLAGS = \ test_install_LDADD = \ libsystemd-basic.la +test_watchdog_SOURCES = \ + src/test-watchdog.c \ + src/watchdog.c \ + src/watchdog.h + +test_watchdog_LDADD = \ + libsystemd-basic.la + systemd_initctl_SOURCES = \ src/initctl.c \ src/dbus-common.c @@ -862,7 +873,9 @@ systemd_shutdownd_LDADD = \ systemd_shutdown_SOURCES = \ src/mount-setup.c \ src/umount.c \ - src/shutdown.c + src/shutdown.c \ + src/watchdog.c \ + src/watchdog.h systemd_shutdown_LDADD = \ libsystemd-basic.la \ -- cgit v1.2.3