#!/bin/sh
# ngIRCd Test Suite
-# $Id: stop-server.sh,v 1.8 2002/09/23 22:07:42 alex Exp $
[ -z "$srcdir" ] && srcdir=`dirname $0`
-echo " stopping server ..."
+# read in functions
+. ${srcdir}/functions.inc
-# Test-Server stoppen ...
-pid=`./getpid.sh ngircd-TEST`
-[ -n "$pid" ] && kill $pid > /dev/null 2>&1 || exit 1
-sleep 1
+if [ -n "$1" ]; then
+ id="$1"; shift
+else
+ id="1"
+fi
-# jetzt duerfte der Prozess nicht mehr laufen
-kill -0 $pid > /dev/null 2>&1 && exit 1 || exit 0
+echo_n "stopping server ${id} ..."
+
+# stop test-server ...
+pid=`./getpid.sh T-ngircd${id}`
+if [ -z "$pid" ]; then
+ echo " failure: no running server found!?"
+ exit 1
+fi
+kill $pid > /dev/null 2>&1 || exit 1
+
+# waiting ...
+for i in 1 2 3 4 5; do
+ kill -0 $pid > /dev/null 2>&1; r=$?
+ if [ $r -ne 0 ]; then
+ echo " ok".
+ exit 0
+ fi
+ sleep 1
+done
+echo " failure: server ${id} still running!?"
+exit 1
# -eof-