jobs: Integrate systemd watchdog by default
authorJosé Bollo <jose.bollo@iot.bzh>
Thu, 18 Jan 2018 10:17:25 +0000 (11:17 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Thu, 18 Jan 2018 10:17:25 +0000 (11:17 +0100)
Change-Id: Iaa3ce3ee9188e3ddaf6ee70964963d29df78689f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/jobs.c

index d469c10..4b4472e 100644 (file)
@@ -29,6 +29,9 @@
 #include <sys/eventfd.h>
 
 #include <systemd/sd-event.h>
+#ifndef NO_JOBS_WATCHDOG
+#include <systemd/sd-daemon.h>
+#endif
 
 #include "jobs.h"
 #include "sig-monitor.h"
@@ -762,6 +765,12 @@ int jobs_start(int allowed_count, int start_count, int waiter_count, void (*star
        running = 0;
        remains = waiter_count;
 
+#ifndef NO_JOBS_WATCHDOG
+       /* set the watchdog */
+       if (sd_watchdog_enabled(0, NULL))
+               sd_event_set_watchdog(get_sd_event_locked(), 1);
+#endif
+
        /* start at least one thread */
        launched = 0;
        while ((launched + 1) < start_count) {