]> git.pld-linux.org Git - packages/squid.git/commitdiff
- wait for squid processes to stop instead of sleeping 30 secs
authorhawk <hawk@pld-linux.org>
Thu, 5 Aug 2004 12:29:11 +0000 (12:29 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    squid.init -> 1.35

squid.init

index f59d5f393df3aefc4d2e833aa5e0b676d6cb5db5..5ac668d61033616e7e8d029cbbc5e456d21a7c04 100644 (file)
@@ -38,9 +38,6 @@
 # Get network config
 . /etc/sysconfig/network
 
-# initial value:
-DELAY_IN_RESTART=30
-
 # Get service config
 [ -f /etc/sysconfig/squid ] && . /etc/sysconfig/squid
 
@@ -75,15 +72,32 @@ case "$1" in
        if [ -f /var/lock/subsys/squid ]; then
                # Stop daemons.
                msg_stopping Squid
+               if [ -f /var/run/httpd.pid ]; then
+                       PID=$(filter_chroot `cat /var/log/squid/squid.pid`)
+                       if [ -z "$PID" ]; then
+                               PID=0
+                       fi
+               else
+                       PID=0
+               fi
                killproc squid
                RETVAL=$?
+               if [ ! $PID -eq 0 ]; then
+                       show "Waiting for Squid to stop"
+                       busy
+                       while ps -U squid -o user | grep -q ^squid
+                       do
+                               sleep 1
+                       done
+                       ok
+               fi
                rm -f /var/lock/subsys/squid >/dev/null 2>&1
        else
                msg_not_running Squid
        fi
        ;;
   restart)
-       $0 stop && nls -n "Waiting %s seconds..." "$DELAY_IN_RESTART" && sleep $DELAY_IN_RESTART && nls "done."
+       $0 stop
        $0 start
        exit $?
        ;;
This page took 0.04223 seconds and 4 git commands to generate.