diff options
author | Martin Stransky <stransky@fedoraproject.org> | 2006-10-05 13:06:25 +0000 |
---|---|---|
committer | Martin Stransky <stransky@fedoraproject.org> | 2006-10-05 13:06:25 +0000 |
commit | 2e702b326bed1be8283ea9f5581a7ef7ef33a1c2 (patch) | |
tree | f69ec0166e32cb8100ee660ee45e86d2c0d64eb9 /named.init | |
parent | 66f11969cffe3ff605a7f4e887f7e654c52b7499 (diff) | |
download | bind-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-x | named.init | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -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 |