]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/blobdiff - files/etc/init.d/s6
fix: wait until s6-svscan is ready
[user/henk/code/puppet/modules/s6.git] / files / etc / init.d / s6
index a30790887b7c2be042331722e35bb03d3c5822d3..371e53ef313f488b2bc9c36ca0c7803625690cac 100644 (file)
@@ -15,7 +15,6 @@ DESC="s6 system service supervision suite"
 DAEMON="/usr/local/bin/s6-svscanboot"
 SCANDIR="/etc/s6-scandir/"
 DAEMON_ARGS=${SCANDIR}
-PIDFILE="/var/run/s6.pid"
 SCRIPTNAME="/etc/init.d/${NAME}"
 
 test -x $DAEMON || exit 0
@@ -37,23 +36,15 @@ case "$1" in
                                --start \
                                --oknodo \
                                --chdir "${SCANDIR}" \
-                               --startas "${DAEMON}" \
-                               --background \
-                               --make-pidfile \
-                               --pidfile "${PIDFILE}" \
+                               --exec "${DAEMON}" \
                                -- "${DAEMON_ARGS}"
                        log_end_msg $?
                fi
                ;;
        stop)
                log_daemon_msg "Stopping ${DESC}" "${NAME}"
-               /sbin/start-stop-daemon \
-                       --stop \
-                       --oknodo \
-                       --retry TERM/60/QUIT/60 \
-                       --remove-pidfile \
-                       --pidfile "${PIDFILE}"
-               if test $? = 2; then
+               /usr/bin/s6-svscanctl -t "${SCANDIR}"
+               if test $? = 111; then
                        /sbin/start-stop-daemon \
                                --stop \
                                --oknodo \
@@ -72,7 +63,7 @@ case "$1" in
                $0 start
                ;;
        status)
-               status_of_proc -p ${PIDFILE} ${DAEMON} s6 && exit 0 || exit $?
+               status_of_proc ${DAEMON} s6 && exit 0 || exit $?
                ;;
        *)
                echo "Usage: ${SCRIPTNAME} {start|stop|restart|force-reload|status}"