summaryrefslogtreecommitdiff
path: root/src/network/networkd-manager.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-12-11 18:14:52 +0100
committerLennart Poettering <lennart@poettering.net>2013-12-11 18:20:09 +0100
commitcde93897cdefdd7c7f66c400a61e42ceee5f6a46 (patch)
tree2ad9106709282c4f853bdcb3e2ea6446260ee743 /src/network/networkd-manager.c
parent08cd15525450ff2c2ac814a58930f6d82284a1ba (diff)
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.
Diffstat (limited to 'src/network/networkd-manager.c')
-rw-r--r--src/network/networkd-manager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
index c8ec23970..d59b9139a 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;