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 | 184e136c42f204d78975ab94af27f65626e481d4 (patch) | |
| tree | 554b453604bed6bdd676546533f05962a2c44274 /named.init | |
| parent | f0295fac62ba6d346cb49a3f4758e0fd857a9448 (diff) | |
added timeout to init script
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 |
