summaryrefslogtreecommitdiffstats
path: root/named.init
diff options
context:
space:
mode:
authorMartin Stransky <stransky@fedoraproject.org>2006-10-05 13:06:25 +0000
committerMartin Stransky <stransky@fedoraproject.org>2006-10-05 13:06:25 +0000
commit2e702b326bed1be8283ea9f5581a7ef7ef33a1c2 (patch)
treef69ec0166e32cb8100ee660ee45e86d2c0d64eb9 /named.init
parent66f11969cffe3ff605a7f4e887f7e654c52b7499 (diff)
downloadbind-2e702b326bed1be8283ea9f5581a7ef7ef33a1c2.tar.gz
bind-2e702b326bed1be8283ea9f5581a7ef7ef33a1c2.tar.xz
bind-2e702b326bed1be8283ea9f5581a7ef7ef33a1c2.zip
added timeout to init scriptbind-9_3_3-3_fc6
Diffstat (limited to 'named.init')
-rwxr-xr-xnamed.init30
1 files changed, 21 insertions, 9 deletions
diff --git a/named.init b/named.init
index d5aa418..0088c72 100755
--- a/named.init
+++ b/named.init
@@ -19,6 +19,9 @@
[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
+# Don't kill named dunring clean-up
+NAMED_SHUTDOWN_TIMEOUT=${NAMED_SHUTDOWN_TIMEOUT:-100}
+
if [ -n "$ROOTDIR" ]; then
ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`;
rdl=`/usr/bin/readlink $ROOTDIR`;
@@ -194,17 +197,26 @@ stop() {
/usr/sbin/rndc stop >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
+ timeout=0
+ while : ; do
+ if /sbin/pidof -o %PPID $named >/dev/null; then
+ if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
+ killproc $named -TERM >/dev/null 2>&1
+ RETVAL=$?
+ break
+ else
+ sleep 2 && echo -n "."
+ timeout=$((timeout+2))
+ fi;
+ else
+ break
+ fi;
+ done
+ fi;
+ if [ $RETVAL -eq 0 ]; then
rm -f /var/lock/subsys/named
- rm -f /var/run/named.pid
+ rm -f /var/run/named.pid
rm -f /var/run/named_sdb.pid 2>/dev/null
- elif /sbin/pidof -o %PPID $named >/dev/null; then
- killproc $named -TERM >/dev/null 2>&1
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/lock/subsys/named
- rm -f /var/run/named.pid
- rm -f /var/run/named_sdb.pid 2>/dev/null
- fi;
fi;
if [ $RETVAL -eq 0 ]; then
success