#!/bin/sh
### BEGIN INIT INFO
# Provides:          busmanagerd
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: busmanagerd
### END INIT INFO
# /etc/init.d/busmanager
#
# Written by Steve Springmanr<Steve.Springman@daktronics.com>

set -e

DAEMON=/usr/local/sbin/busmanagerd
DAEMONOPTS="--log-level=verbose --log-file=/var/log/busclient"
NAME=busmanagerd
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin

test -x $DAEMON || exit 0

case "$1" in
  start)
    echo -n "Starting dakbus manager app: $NAME  "
    [ -d /var/run/busmanagerd ] || mkdir -p /var/run/busmanagerd
    start-stop-daemon --start --background -m --pidfile /var/run/busmanagerd/busmanagerd.pid --exec $DAEMON -- $DAEMONOPTS
    echo "."
    ;;
  stop)
    echo -n "Stopping dakbus manager app: $NAME  "
    start-stop-daemon --stop --pidfile /var/run/busmanagerd/busmanagerd.pid --oknodo --exec $DAEMON -- $DAEMONOPTS
    rm -f /var/run/busmanagerd/busmanagerd.pid
    echo "."
      ;;
  restart)
    echo -n "Restarting dakbus manager app: $NAME  "
	
	set +e #enable error checking incase process wasn't running
    start-stop-daemon --stop --pidfile /var/run/busmanagerd/busmanagerd.pid -q --exec $DAEMON
	if [ "$?" = "1" ]; then
		sleep 1 #if process wasn't running give it one second to see if it comes up (incase this script gets called twice really fast) and try again
		start-stop-daemon --stop --pidfile /var/run/busmanagerd/busmanagerd.pid --oknodo --exec $DAEMON
	fi
	set -e
	
    rm -f /var/run/busmanagerd/busmanagerd.pid
    start-stop-daemon --start --background -m --pidfile /var/run/busmanagerd/busmanagerd.pid --exec $DAEMON -- $DAEMONOPTS
    echo "."
    ;;
  reload|force-reload)
    echo "Reloading $NAME configuration files  "
    start-stop-daemon --stop --pidfile /var/run/busmanagerd/busmanagerd.pid --signal 1 --exec $DAEMON -- $DAEMONOPTS
    echo "."
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
    exit 1
    ;;
esac

exit 0
