#!/bin/sh
# /etc/init.d/ice
#
### BEGIN INIT INFO
# Provides:          ice
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     5
# Default-Stop:      0 6
# Short-Description: Turns on ice daemon
# Description:       Enables ICE daemon for slingshot communication
### END INIT INFO

DAEMON=/usr/sbin/ice
DAEMONMONITOR=/usr/sbin/ice-monitor
DAEMONOPTS=""
NAME=ice


case "$1" in
  start)
	echo -n "Starting app: $NAME  "

	# Enable core-dumps
	ulimit -c unlimited
	
	#we require a valid date for TLS and the ICE connection, start the ntpd app to sync
    [ -d /var/run/${NAME} ] || mkdir -p /var/run/${NAME}
	start-stop-daemon --start --background -m --pidfile /var/run/${NAME}/ntpd.pid --exec /usr/sbin/ntp_sync
	
    [ -d /var/run/${NAME} ] || mkdir -p /var/run/${NAME}
	start-stop-daemon --start --background -m --pidfile /var/run/${NAME}/${NAME}.pid --exec ${DAEMON} -- ${DAEMONOPTS}
    echo -n "."

   [ -d /var/run/${NAME}-monitor ] || mkdir -p /var/run/${NAME}-monitor
	start-stop-daemon --start --background -m --pidfile /var/run/${NAME}-monitor/${NAME}-monitor.pid --exec ${DAEMONMONITOR} -- ${DAEMONOPTS}
    echo "."
  ;;
  stop)

    echo -n "Stopping app: $NAME  "
    #start-stop-daemon --stop --pidfile /var/run/${NAME}-monitor/${NAME}-monitor.pid --oknodo --exec ${DAEMONMONITOR} -- ${DAEMONOPTS}
    #rm -f /var/run/${NAME}/${NAME}.pid

	if [ -f /var/run/${NAME}-monitor/${NAME}-monitor.pid ]; then
   		PID=`cat /var/run/${NAME}-monitor/${NAME}-monitor.pid` ##TODO,, this is not safe if it crashed as something else may have pid, but python and start/stop have issues
	
		kill ${PID}
		rm -f /var/run/${NAME}-monitor/${NAME}-monitor.pid
	fi

    start-stop-daemon --stop --pidfile /var/run/${NAME}/${NAME}.pid --retry=TERM/10/KILL/5 --oknodo --exec ${DAEMON} -- ${DAEMONOPTS}
    rm -f /var/run/${NAME}/${NAME}.pid

  ;;
  reset)
	echo -n "Stopping app: $NAME  "
    start-stop-daemon --stop --pidfile /var/run/${NAME}/${NAME}.pid --retry=TERM/10/KILL/5 --oknodo --exec ${DAEMON} -- ${DAEMONOPTS}
    rm -f /var/run/${NAME}/${NAME}.pid
    echo "."

    [ -d /var/run/${NAME} ] || mkdir -p /var/run/${NAME}
	start-stop-daemon --start --background -m --pidfile /var/run/${NAME}/${NAME}.pid --exec ${DAEMON} -- ${DAEMONOPTS}
    echo "."
  ;;
  *)
	echo "Usage /etc/init.d/ice [start|stop|reset]"
	exit -1
  ;;
esac

exit 0
