hts-tvheadend: add while loop for restarting tvheadend if it crashes

This commit is contained in:
Gregor Fuis 2012-02-27 20:38:29 +01:00
parent 3ef2525313
commit c62da08102
4 changed files with 22 additions and 9 deletions

View File

@ -1,5 +1,6 @@
2.0.7 2.0.7
- enable unloading/loading dvb modules on suspend/resume - enable unloading/loading dvb modules on suspend/resume
- add while loop for restarting tvheadend if it crashes
2.0.6 2.0.6
- add possibilty to start / stop addon from addon manager with enable / disable - add possibilty to start / stop addon from addon manager with enable / disable

View File

@ -22,6 +22,9 @@
. /etc/profile . /etc/profile
LOCKDIR="/var/lock/"
LOCKFILE="tvheadend.disabled"
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.hts-tvheadend" ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.hts-tvheadend"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend"
ADDON_BIN="tvheadend" ADDON_BIN="tvheadend"
@ -40,7 +43,7 @@ if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE
fi fi
TVHEADEND_ARG="-f -C -s -u root -g video -c $ADDON_HOME" TVHEADEND_ARG="-C -s -u root -g video -c $ADDON_HOME"
mkdir -p $ADDON_HOME mkdir -p $ADDON_HOME
if [ ! $(pidof $ADDON_BIN) ]; then if [ ! $(pidof $ADDON_BIN) ]; then
@ -52,5 +55,15 @@ mkdir -p $ADDON_HOME
. $driver_dvb . $driver_dvb
done done
$ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
fi rm -rf "$LOCKDIR/$LOCKFILE"
fi
while [ true ] ; do
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
break
fi
$ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE
sleep 1
done &
fi

View File

@ -22,8 +22,13 @@
. /etc/profile . /etc/profile
LOCKDIR="/var/lock/"
LOCKFILE="tvheadend.disabled"
ADDON_BIN="tvheadend" ADDON_BIN="tvheadend"
if [ $(pidof $ADDON_BIN) ];then if [ $(pidof $ADDON_BIN) ];then
mkdir -p "$LOCKDIR"
touch "$LOCKDIR/$LOCKFILE"
killall $ADDON_BIN killall $ADDON_BIN
fi fi

View File

@ -22,9 +22,6 @@
. /etc/profile . /etc/profile
LOCKDIR="/var/lock/"
LOCKFILE="tvheadend"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend"
ADDON_SETTINGS="$ADDON_HOME/settings.xml" ADDON_SETTINGS="$ADDON_HOME/settings.xml"
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
@ -33,8 +30,6 @@ case "$1" in
hibernate|suspend) hibernate|suspend)
if [ $(pidof tvheadend) ];then if [ $(pidof tvheadend) ];then
progress "Shutting down HTS TVHeadend for suspending..." progress "Shutting down HTS TVHeadend for suspending..."
mkdir -p "$LOCKDIR"
touch "$LOCKDIR/$LOCKFILE"
tvheadend.stop tvheadend.stop
for module in $REMOVE_MODULES ; do for module in $REMOVE_MODULES ; do
rmmod -w $module rmmod -w $module
@ -49,7 +44,6 @@ case "$1" in
done done
progress "Restarting HTS TVHeadend for wakeup..." progress "Restarting HTS TVHeadend for wakeup..."
tvheadend.start tvheadend.start
rm -rf "$LOCKDIR/$LOCKFILE"
fi fi
;; ;;