diff options
author | 2007-05-30 11:57:38 +0000 | |
---|---|---|
committer | 2007-05-30 11:57:38 +0000 | |
commit | 4c59777c91c3d1cdacc97472d44b99e73f4297d2 (patch) | |
tree | 0e2e5c334c6cad3e55ee9b9c380ed385f2351e2e | |
parent | Added some small binary to wait for a process to exit. (diff) | |
download | gentoo-vdr-scripts-4c59777c91c3d1cdacc97472d44b99e73f4297d2.tar.gz gentoo-vdr-scripts-4c59777c91c3d1cdacc97472d44b99e73f4297d2.tar.bz2 gentoo-vdr-scripts-4c59777c91c3d1cdacc97472d44b99e73f4297d2.zip |
Removed sleeps for watchdogrestart. Removed logging by default for watchdog.
svn path=/gentoo-vdr-scripts/trunk/; revision=455
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | etc/conf.d/vdr.watchdogd | 7 | ||||
-rwxr-xr-x | etc/init.d/vdr | 12 | ||||
-rwxr-xr-x | usr/sbin/vdr-watchdogd | 10 | ||||
-rw-r--r-- | usr/share/vdr/inc/rc-functions.sh | 7 | ||||
-rw-r--r-- | usr/share/vdr/rcscript/watchdog-restart-20-modules.sh | 3 |
6 files changed, 26 insertions, 19 deletions
@@ -1,6 +1,12 @@ # ChangeLog for gentoo-vdr-scripts # $Id$ + 30 May 2007; Matthias Schwarzott <zzam@gentoo.org> + usr/share/vdr/rcscript/watchdog-restart-20-modules.sh, + etc/conf.d/vdr.watchdogd, etc/init.d/vdr, usr/sbin/vdr-watchdogd, + usr/share/vdr/inc/rc-functions.sh: + Removed sleeps for watchdogrestart. Removed logging by default for watchdog. + 30 May 2007; Matthias Schwarzott <zzam@gentoo.org> Makefile, +usr/bin/Makefile, +usr/bin/wait_on_pid.c, usr/sbin/vdr-watchdogd: Added some small binary to wait for a process to exit. diff --git a/etc/conf.d/vdr.watchdogd b/etc/conf.d/vdr.watchdogd index 7b6e245..7cd1ac9 100644 --- a/etc/conf.d/vdr.watchdogd +++ b/etc/conf.d/vdr.watchdogd @@ -22,8 +22,5 @@ #WATCHDOG_RELOAD_DVB_MODULES="yes" # -# For debugging purposes; in which file should -# the watchdog write a log -# allowed values: names of files -# default: only log to syslog -#WATCHDOG_LOGFILE="/var/log/vdr-watchdogd" +# debug watchdog - will create logfile in /tmp/vdrwatchdogd-log +#DEBUG=1 diff --git a/etc/init.d/vdr b/etc/init.d/vdr index 652330b..89a8fbc 100755 --- a/etc/init.d/vdr +++ b/etc/init.d/vdr @@ -85,13 +85,14 @@ start() { } stop() { + [ -z "${VDR_BIN}" ] && VDR_BIN=/usr/bin/vdr load_functions stop load_addons_prefixed pre-stop ebegin "Stopping ${VDRNAME}" # Use --name here to allow us to kill vdr even after a new emerge - start-stop-daemon --stop --quiet --retry 15 --name vdr + start-stop-daemon --stop --quiet --retry 15 --exec ${VDR_BIN} eend $? "Failed to stop vdr." load_addons_prefixed post-stop @@ -103,10 +104,11 @@ watchdogrestart() { load_functions watchdogrestart export WATCHDOG_RESTART="1" - /etc/init.d/vdr pause - sleep 2 - test_vdr_process && /bin/killall -9 vdr - sleep 1 + /etc/init.d/vdr --nodeps stop + if test_vdr_process; then + sleep 2 + test_vdr_process && /bin/killall -9 vdr + fi /etc/init.d/vdr zap diff --git a/usr/sbin/vdr-watchdogd b/usr/sbin/vdr-watchdogd index 3d18845..8a987e7 100755 --- a/usr/sbin/vdr-watchdogd +++ b/usr/sbin/vdr-watchdogd @@ -12,6 +12,13 @@ exec < /dev/null exec >/dev/null 2>&1 +. /etc/conf.d/vdr.watchdogd +if [ "${DEBUG}" == 1 ]; then + exec >/tmp/vdrwatchdogd-log 2>&1 + date + set -x +fi + log() { logger -i -t vdrwatchdog -p local0.info "$@" } @@ -19,7 +26,8 @@ log() { do_restart() { log "restarting VDR" /etc/init.d/vdr watchdogrestart - /usr/bin/svdrpsend.pl mesg "Warning: vdr was restarted by watchdog." + log "VDR has been restarted" + /usr/bin/svdrpsend.pl mesg "Warning: vdr was restarted by watchdog." & } is_paused() { diff --git a/usr/share/vdr/inc/rc-functions.sh b/usr/share/vdr/inc/rc-functions.sh index a78ad62..8114eb6 100644 --- a/usr/share/vdr/inc/rc-functions.sh +++ b/usr/share/vdr/inc/rc-functions.sh @@ -14,8 +14,7 @@ include message-functions : ${SCRIPT_DEBUG_LEVEL:=0} SCRIPT_API=2 -pidof=/sbin/pidof -test -x /bin/pidof && pidof=/bin/pidof +pidof=pidof . /etc/conf.d/vdr.watchdogd ENABLE_EXTERNAL_WATCHDOG=${ENABLE_EXTERNAL_WATCHDOG:-no} @@ -221,7 +220,6 @@ stop_watchdog() { start_watchdog() { if [ "${ENABLE_EXTERNAL_WATCHDOG}" = "yes" ]; then - WATCHDOG_LOGFILE=${WATCHDOG_LOGFILE:-/dev/null} ebegin "Starting vdr watchdog" start-stop-daemon \ --start \ @@ -229,8 +227,7 @@ start_watchdog() { --make-pidfile \ --pidfile /var/run/vdrwatchdog.pid \ --exec /usr/sbin/vdr-watchdogd \ - --name vdr-watchdogd \ - -- ${WATCHDOG_LOGFILE} + --name vdr-watchdogd eend $? "failed starting vdr watchdog" fi } diff --git a/usr/share/vdr/rcscript/watchdog-restart-20-modules.sh b/usr/share/vdr/rcscript/watchdog-restart-20-modules.sh index ee595f2..6c03abc 100644 --- a/usr/share/vdr/rcscript/watchdog-restart-20-modules.sh +++ b/usr/share/vdr/rcscript/watchdog-restart-20-modules.sh @@ -91,11 +91,8 @@ restart_load() { addon_main() { : ${WATCHDOG_RELOAD_DVB_MODULES:=no} if [ "${WATCHDOG_RELOAD_DVB_MODULES}" = "yes" ]; then - sleep 2 restart_unload - sleep 2 restart_load - sleep 1 fi return 0 } |