#! /bin/sh
### BEGIN INIT INFO
# Provides:          avisd
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: avis event router
# Description:       avis event router for real-time data
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=avisd
DESC="event router"
DAEMON=/usr/sbin/$NAME
USER=avis
GROUP=avis
PIDFILE="/var/run/$NAME/$NAME.pid"
#PIDFILE="/var/run/${NAME}.pid"
PIDFILE_DIR=`dirname $PIDFILE`

KILL_SPEC=TERM/20/KILL/5

test -x $DAEMON || exit 1
umask 002

# Include defaults if available
if [ -f /etc/default/$NAME ] ; then
	. /etc/default/$NAME
fi

DAEMON_OPTS="-daemon -pidfile ${PIDFILE}"

if [ ! -d "$PIDFILE_DIR" ];then
	mkdir -p "$PIDFILE_DIR"
    chown $USER:$GROUP "$PIDFILE_DIR"
fi

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --chuid $USER:$GROUP --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS 
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --oknodo --user $USER --pidfile $PIDFILE --retry=${KILL_SPEC} --exec $DAEMON
	echo "$NAME."
	;;
  status)
	echo -n "Status $DESC: "
	PID=$(cat $PIDFILE)
	kill -0 $PID
	rc=$?
	# Check exit code
	if [ "$rc" -ne 0 ]
	then
		echo "$NAME is NOT running."
		exit 7
	else
		echo "$NAME is running with PID: $PID"
	fi
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	#start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
	$0 stop
	#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
	$0 start
	echo "$NAME."
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
