# Check that networking is up.
if is_yes "${NETWORKING}"; then
- if [ ! -f /var/lock/subsys/network ]; then
+ if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
msg_network_down Squid
exit 1
fi
if [ -f /var/lock/subsys/squid ]; then
# Stop daemons.
msg_stopping Squid
+ if [ -f /var/run/squid.pid ]; then
+ PID=$(filter_chroot `cat /var/run/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 $?
;;
[ $RETVAL -ne 0 ] && RETVAL=7
[ $RETVAL -eq 0 ] && ok || fail
else
- msg_not_running Squid
+ msg_not_running Squid >&2
exit 7
fi
- ;;
+ ;;
status)
status squid
exit $?