#! /bin/sh
#
# aolserver	Start the AOLserver HTTP server.
#

NAME=aolserver
USER=www-data
GROUP=www-data
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/lib/aolserver/bin/nsd
PIDFILE=/var/run/aolserver/$NAME.pid
CONF=/etc/aolserver/nsd.tcl
AOLSRVCTL=/usr/sbin/aolsrvctl 

trap "" 1

test -f $DAEMON || exit 0
test -f $APACHECTL || exit 0

if egrep -q -i "^[[:space:]]*ServerType[[:space:]]+inet" $CONF
then
    exit 0
fi

case "$1" in
  start)
    echo -n "Starting AOLserver domain: $NAME"
    $DAEMON -i -u $USER -g $GROUP -t $CONF & > /dev/null 2>&1
    sleep 1
    PID=`ps --User $USER | grep nsd | sed 's/^ *//' | cut -d" " -f1`
    if [ "$PID" = "" ]
    then
    	echo " ... failed"
	exit 2
    else
        echo "."
    fi
    ;;

  stop)
    echo -n "Stopping AOLserver domain: $NAME"
    $DAEMON -K -u $USER -g $GROUP -t $CONF > /dev/null 2>&1
    sleep 2
    PID=`ps --User $USER | grep nsd | sed 's/^ *//' | cut -d" " -f1`
    if [ "$PID" = "" ]
    then
    	echo "."
    else
        # Try harder
	kill -15 $PID	
	sleep 3
        PID=`ps --User $USER | grep nsd | sed 's/^ *//' | cut -d" " -f1`
	if [ "$PID" = "" ]
	then
	    echo "."
	else
	    # Try harder still
	    kill -9 $PID
	    sleep 5
            PID=`ps --User $USER | grep nsd | sed 's/^ *//' | cut -d" " -f1`
	    if [ "$PID" = "" ]
	    then
	        echo "."
	    else
	        echo "... failed"
		exit 3
	    fi
	fi
    fi
    ;;

  restart)
    echo -n "Restarting AOLserver domain $NAME ... "
    $DAEMON -K -t $CONF > /dev/null 2>&1
    sleep 2
    $DAEMON -k -t $CONF > /dev/null 2>&1
    ;;

  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
    exit 1
    ;;
esac

exit 0

