X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fstunnel4%2Ffiles%2Fetc-init.d-stunnel4;h=8921c4fef51e846521a8cd96dc56dc0f04235f18;hb=dd1abc5423b5ee6aea94f94d15fdfeeb2b5596f9;hp=e2f442e721985ffc9bd6c4b93de1bffc499303fe;hpb=fdd1e9d8391884cbfeff9492b74960eea5e3564d;p=mirror%2Fdsa-puppet.git diff --git a/modules/stunnel4/files/etc-init.d-stunnel4 b/modules/stunnel4/files/etc-init.d-stunnel4 index e2f442e72..8921c4fef 100755 --- a/modules/stunnel4/files/etc-init.d-stunnel4 +++ b/modules/stunnel4/files/etc-init.d-stunnel4 @@ -23,6 +23,8 @@ DESC="SSL tunnels" OPTIONS="" ENABLED=0 +ulimit -n 4096 + if [ -n "${2:-}" ]; then if [ -e "/etc/stunnel/$2.conf" ]; then FILES="/etc/stunnel/$2.conf" @@ -74,10 +76,19 @@ killdaemons() { for file in $FILES; do PROCLIST=`get_pids $file` - if [ "$PROCLIST" ] && kill -0 $PROCLIST 2>/dev/null; then - kill $PROCLIST - echo -n "[stopped: $file] " - fi + for p in $PROCLIST; do + #start-stop-daemon --stop --retry 30 --pid "$p" + # start-stop-daemon in wheezy does not have a --pid yet, it interprets it as --pidfile + kill "$p" + c=150 + while [ "$c" -gt 0 ] && kill -0 "$p" 2> /dev/null ; do + sleep 0.20 + c=$((c - 1)) + [ "$((c % 5))" = 0 ] && echo -n . + done + if kill -0 "$p" 2> /dev/null; then kill -9 "$p"; fi + echo -n "[stopped: $file] " + done done } @@ -111,7 +122,7 @@ case "$1" in force-reload|restart) echo -n "Restarting $DESC: " killdaemons - sleep 5 + #sleep 5 startdaemons echo "$NAME." ;;