mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Adjust systemd watchdog support
Document why we divide it by two. Check for > 0 instead of nonzero for success, since that's what the manpage says. Allow watchdog timers greater than 1 second.
This commit is contained in:
parent
29ac883606
commit
2f46e5e755
@ -2045,11 +2045,15 @@ do_main_loop(void)
|
||||
#ifdef HAVE_SYSTEMD_209
|
||||
uint64_t watchdog_delay;
|
||||
/* set up systemd watchdog notification. */
|
||||
if (sd_watchdog_enabled(1, &watchdog_delay)) {
|
||||
if (sd_watchdog_enabled(1, &watchdog_delay) > 0) {
|
||||
if (! systemd_watchdog_timer) {
|
||||
struct timeval watchdog;
|
||||
watchdog.tv_sec = 0;
|
||||
watchdog.tv_usec = watchdog_delay/2;
|
||||
/* The manager will "act on" us if we don't send them a notification
|
||||
* every 'watchdog_delay' microseconds. So, send notifications twice
|
||||
* that often. */
|
||||
watchdog_delay /= 2;
|
||||
watchdog.tv_sec = watchdog_delay / 1000000;
|
||||
watchdog.tv_usec = watchdog_delay % 1000000;
|
||||
|
||||
systemd_watchdog_timer = periodic_timer_new(tor_libevent_get_base(),
|
||||
&watchdog,
|
||||
|
Loading…
Reference in New Issue
Block a user