#!/bin/sh
#
# chkconfig: 35 20 80
# description: Distributed Input Output Daemon 
#

# Get function from functions library
. /etc/init.d/functions

BASE=diod
PIDFILE=/var/run/$BASE.pid
PID=`test -f $PIDFILE && cat $PIDFILE`
DIOD_BIN=/usr/sbin/$BASE
DIOD_CONF=/etc/$BASE.conf
DIOD_OPTS="-c $DIOD_CONF"
DIOD="$DIOD_BIN $DIOD_OPTS"
RETVAL=0

# Start the service $BASE
start()
{
       # Force creation of the log directory even on a tmpfs /var/log.
       mkdir -p /var/log/diod

       start-stop-daemon --stop --test --quiet --pidfile $PIDFILE
       status=$?
       if [ $status -eq 0 ]; then
           echo "diod service is already running with pid $PID"
           exit 1
       else
           echo -n "Starting $BASE:"
           start-stop-daemon --start --pidfile $PIDFILE \
	     --exec $DIOD_BIN -- $DIOD_OPTS
           RETVAL=$?
           echo
           [ $RETVAL -ne 0 ] && exit $RETVAL
       fi
}

# Stop the service $BASE
stop()
{
    echo -n "Stopping $BASE:"
    start-stop-daemon --stop --test --quiet --pidfile $PIDFILE
    status=$?
    if [ $status -eq 0 ]; then
        start-stop-daemon --stop --quiet --pidfile $PIDFILE
        [ -w $PIDFILE ] && rm -f $PIDFILE
    else
	start-stop-daemon --stop --quiet --name $BASE
    fi
}


### service arguments ###
case $1 in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $BASE
        ;;
    restart | force-reload)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}."
        exit 1
esac

exit 0
