diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-12-11 18:14:52 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-12-11 18:20:09 +0100 |
commit | cde93897cdefdd7c7f66c400a61e42ceee5f6a46 (patch) | |
tree | 2ad9106709282c4f853bdcb3e2ea6446260ee743 /src/socket-proxy/socket-proxyd.c | |
parent | 08cd15525450ff2c2ac814a58930f6d82284a1ba (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/socket-proxy/socket-proxyd.c')
-rw-r--r-- | src/socket-proxy/socket-proxyd.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c index 432558d190..c6f56be60a 100644 --- a/src/socket-proxy/socket-proxyd.c +++ b/src/socket-proxy/socket-proxyd.c @@ -632,6 +632,8 @@ int main(int argc, char *argv[]) { goto finish; } + sd_event_set_watchdog(event, true); + n = sd_listen_fds(1); if (n < 0) { log_error("Failed to receive sockets from parent."); |