From cde93897cdefdd7c7f66c400a61e42ceee5f6a46 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 11 Dec 2013 18:14:52 +0100 Subject: event: hook up sd-event with the service watchdog logic Adds a new call sd_event_set_watchdog() that can be used to hook up the event loop with the watchdog supervision logic of systemd. If enabled and $WATCHDOG_USEC is set the event loop will ping the invoking systemd daemon right after coming back from epoll_wait() but not more often than $WATCHDOG_USEC/4. The epoll_wait() will sleep no longer than $WATCHDOG_USEC/4*3, to make sure the service manager is called in time. This means that setting WatchdogSec= in a .service file and calling sd_event_set_watchdog() in your daemon is enough to hook it up with the watchdog logic. --- src/network/networkd-manager.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/network') diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index c8ec23970b..d59b9139a3 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -35,6 +35,8 @@ int manager_new(Manager **ret) { if (r < 0) return r; + sd_event_set_watchdog(m->event, true); + r = sd_rtnl_open(RTMGRP_LINK | RTMGRP_IPV4_IFADDR, &m->rtnl); if (r < 0) return r; -- cgit v1.2.3-54-g00ecf