#!/bin/bash
#
#

VDR_BIN=/usr/bin/$1
shift
OPTIONS=$*

KVERS=`uname -r | grep -e '2.6'`
if [ -z "$KVERS" ]; then
	MODULES=`lsmod | grep dvb-core | cut -d'[' -f2 | cut -d']' -f1`
else
	MODULES=`lsmod | grep ^dvb_core | awk '{print $4;}' | awk '{ gsub(/,/," ", $1); print }'`
fi
								
MODULES="$MODULES dvb-core"

while (true) do
      $VDR_BIN $OPTIONS >/dev/null 2>&1
      if test $? -eq 0; then exit; fi
      logger "restarting VDR"
      $KILL $VDRPRG
      /usr/bin/killall -q -TERM $VDR_BIN
      sleep 10
      
	 	for MODUL in $MODULES; do
			rmmod $MODUL >/dev/null 2>&1
			wait `pidof rmmod`
		done
     	
		modprobe dvb >/dev/null 2>&1
done
