#!/bin/sh

PIDFILE="/var/run/rild.pid"

case "$1" in
  "test")
	sleep 0.5	# prevent massive cpu load caused by watchdog
	if [ ! -f ${PIDFILE} ]; then	# PID file not available, peiker-rild did not start
		exit 1
	fi
	if kill -0 $(cat ${PIDFILE}); then
		exit 0	# everything ok
	else	# peiker-rild not running, restart
		exit 1
	fi
	;;

  "repair")
	CODE="$2"
	case "${CODE}" in
	  1)	# peiker-rild not running, restart
		/etc/init.d/peiker-rild start
		;;
	  *)
		exit ${CODE}
	esac

	sleep 1

	if [ ! -f ${PIDFILE} ]; then	# PID file not available, peiker-rild did not start
		exit ${CODE}
	fi
	if kill -0 $(cat ${PIDFILE}); then
		exit 0
	else
		exit ${CODE}
	fi
	;;

  *)
	echo "Usage: /etc/watchdog.d/rild-watchdog {test|repair <code>}"
	exit 100
esac
