#!/bin/sh

# Script that stops the ns-slapd server.
# Exit status can be:
#       0: Server stopped successfully
#       1: Server could not be stopped
#       2: Server was not running

PIDFILE={{RUN-DIR}}/{{PRODUCT-NAME}}-{{SERV-ID}}.pid
if test ! -f $PIDFILE ; then
    echo No ns-slapd PID file found. Server is probably not running
    exit 2
fi
PID=`cat $PIDFILE`
# see if the server is already stopped
kill -0 $PID > /dev/null 2>&1 || {
    echo Server not running
    if test -f $PIDFILE ; then
        rm -f $PIDFILE
    fi
    exit 2
}
# server is running - kill it
kill $PID
loop_counter=1
# wait for 10 minutes (600 times 1 second)
max_count=600
while test $loop_counter -le $max_count; do
    loop_counter=`expr $loop_counter + 1`
    if kill -0 $PID > /dev/null 2>&1 ; then
        sleep 1;
    else
        if test -f $PIDFILE ; then
            rm -f $PIDFILE
        fi
        exit 0
    fi
done
if test -f $PIDFILE ; then
    echo Server still running!! Failed to stop the ns-slapd process: $PID.  Please check the errors log for problems.
fi
exit 1
