]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/stunnel4/files/etc-init.d-stunnel4
gabrielli: decomission
[dsa-puppet.git] / modules / stunnel4 / files / etc-init.d-stunnel4
index 17505c4cab5bb357eed490ab9944a978cde47769..8921c4fef51e846521a8cd96dc56dc0f04235f18 100755 (executable)
@@ -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,13 +122,13 @@ case "$1" in
   force-reload|restart)
         echo -n "Restarting $DESC: "
         killdaemons
-        sleep 5
+        #sleep 5
         startdaemons
         echo "$NAME."
         ;;
   *)
         N=/etc/init.d/$NAME
-        echo "Usage: $N {start|stop|force-reload|restart}" >&2
+        echo "Usage: $N {start|stop|force-reload|restart} [<stunnel instance>]" >&2
         exit 1
         ;;
 esac