diff options
author | Tomasz Torcz <tomek@pipebreaker.pl> | 2015-01-09 23:42:16 +0100 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-01-11 11:14:32 -0500 |
commit | a8999acc3bca05f1aaa23399c7d5f7a5e51789a4 (patch) | |
tree | 9ee5396f4d203b59a37fd9ae902dc98c6511d7a3 /configure.ac | |
parent | 2aa2d0a1c559bcc2f2198ab7df37ab0a33605904 (diff) | |
download | tor-a8999acc3bca05f1aaa23399c7d5f7a5e51789a4.tar.gz tor-a8999acc3bca05f1aaa23399c7d5f7a5e51789a4.zip |
fix and enable systemd watchdog
There were following problems:
- configure.ac wrongly checked for defined HAVE_SYSTEMD; this
wasn't working, so the watchdog code was not compiled in.
Replace library search with explicit version check
- sd_notify() watchdog call was unsetting NOTIFY_SOCKET from env;
this means only first "watchdog ping" was delivered, each
subsequent one did not have socket to be sent to and systemd
was killing service
- after those fixes, enable Watchdog in systemd unit with one
minute intervals
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 1fd5960366..dedfb7e5bd 100644 --- a/configure.ac +++ b/configure.ac @@ -136,6 +136,9 @@ fi AC_SUBST(TOR_SYSTEMD_CFLAGS) AC_SUBST(TOR_SYSTEMD_LIBS) +PKG_CHECK_MODULES(SYSTEMD209, [systemd >= 209], + [AC_DEFINE(HAVE_SYSTEMD_209,1,[Have systemd v209 or more])], []) + if test x$enable_systemd = xyes -a x$have_systemd != xyes ; then AC_MSG_ERROR([Explicitly requested systemd support, but systemd not found]) fi @@ -155,10 +158,6 @@ cpu workers lock up here, so I will disable threads.]) esac fi -ifdef([HAVE_SYSTEMD], [ -AC_SEARCH_LIBS([sd_watchdog_enabled], [systemd-daemon], - [AC_DEFINE(HAVE_SYSTEMD_209,1,[Have systemd v209 or more])], []) -]) case $host in *-*-solaris* ) |