blob: b5ef269c2cf5fdfea224ac2214d0d5cb2f0a39da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-www/squid/files/squid.rc6,v 1.10 2004/03/19 01:32:29 woodchip Exp $
opts="${opts} reload"
depend() {
need net
}
# Try to increase the # of filedescriptors we can open.
maxfds() {
[ -n "$SQUID_MAXFD" ] || return
[ -f /proc/sys/fs/file-max ] || return 0
[ $SQUID_MAXFD -le 4096 ] || SQUID_MAXFD=4096
global_file_max=`cat /proc/sys/fs/file-max`
minimal_file_max=$(($SQUID_MAXFD + 4096))
if [ "$global_file_max" -lt $minimal_file_max ]
then
echo $minimal_file_max > /proc/sys/fs/file-max
fi
ulimit -n $SQUID_MAXFD
}
checkconfig() {
maxfds
CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \
grep cache_dir | awk '{ print $3 }'`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/cache/squid
umask 027
for x in $CACHE_SWAP ; do
if [ ! -d $x/00 ] ; then
einfo "Initializing cache directory: $x"
cd $x
/usr/sbin/squid -z -F 2>/dev/null
if [ $? -ne 0 ] ; then
eerror "Error initializing: $x"
return 1
fi
fi
done
}
start() {
checkconfig || return 1
ebegin "Starting squid"
start-stop-daemon --quiet --start --exec /usr/sbin/squid \
--pidfile /var/run/squid.pid -- ${SQUID_OPTS} < /dev/null
sleep 1
eend $?
}
stop() {
ebegin "Stopping squid"
PID=`cat /var/run/squid.pid 2>/dev/null`
start-stop-daemon --stop --quiet --exec /usr/sbin/squid \
--pidfile /var/run/squid.pid
# Now we have to wait until squid has _really_ stopped.
sleep 2
if test -n "$PID" && kill -0 $PID 2>/dev/null
then
einfon "Waiting ."
cnt=0
while kill -0 $PID 2>/dev/null
do
cnt=`expr $cnt + 1`
if [ $cnt -gt 60 ]
then
# Waited 120 seconds now. Fail.
eend 1 "Failed."
break
fi
sleep 2
echo -n "."
done
echo -n "done."
eend 0
else
eend 0
fi
}
reload() {
checkconfig || return 1
ebegin "Reloading squid"
/usr/sbin/squid -k reconfigure
eend $?
}
|