blob: cd906e0d115190ba35e3112d4cb0d62c6b6ada97 [file] [log] [blame]
#!/bin/sh
case "$1" in
start)
mkdir -p /tmp/service /tmp/run /service/.s6-svscan
# TODO(apenwarr): maybe actually do something in these
: >/service/.s6-svscan/finish
: >/service/.s6-svscan/crash
chmod 755 /service/.s6-svscan/finish /service/.s6-svscan/crash
# We don't run this under a babysitter because it's just too many
# layers of babysitters. And s6-svscan tends to return nonzero when
# you ask it to shut down, even politely, which compounds problems
# instead of helping.
s6-svscan /service 2>&1 | logos svscan &
# Start starting services
{
s6-rc-init /service &&
s6-rc -u change all
} 2>&1 | logos svscan & # exits once all services are started
;;
stop)
{ [ ! -e /service/.s6-svscan/lock ] || s6-svscanctl -q /service; } &&
rm -rf /tmp/service /run/s6-rc /run/s6-rc:*
;;
restart|reload)
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac