From a3cdeecf0033919e3b5a79c17c19b5ac98719256 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 20 Jul 2015 20:20:54 +0000 Subject: - Add timeout-finish support and "down-readiness" - LOTS of refactoring to make this work - Remove s6-notifywhenup - s6-supervise now rocks the casbah - rc for 2.2.0.0 --- doc/s6-supervise.html | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'doc/s6-supervise.html') diff --git a/doc/s6-supervise.html b/doc/s6-supervise.html index a16e0f5..081aeae 100644 --- a/doc/s6-supervise.html +++ b/doc/s6-supervise.html @@ -44,15 +44,18 @@ If it already exists, it uses it as is, without modifying the subscription right
  • If the default service state is up, s6-supervise spawns ./run.
  • s6-supervise sends a 'u' event to ./event whenever it successfully spawns ./run.
  • -
  • When ./run dies, s6-supervise sends a 'd' event to ./event.
  • -
  • When ./run dies, s6-supervise spawns ./finish if it exists. +
  • When ./run dies, s6-supervise sends a 'd' event to ./event. +It then spawns ./finish if it exists. ./finish will have ./run's exit code as first argument, or 256 if ./run was signaled; it will have the number of the signal that killed ./run as second argument, or an undefined number if ./run was not signaled.
  • -
  • ./finish must exit in less than 5 seconds. If it takes more than that, -s6-supervise kills it with a SIGKILL.
  • -
  • When ./finish dies, s6-supervise restarts ./run unless it has been -told not to.
  • +
  • By default, ./finish must exit in less than 5 seconds. If it takes more than that, +s6-supervise kills it with a SIGKILL. This can be configured via the +./timeout-finish file, see the description in the +service directory page.
  • +
  • When ./finish dies (or is killed), +s6-supervise sends a 'D' event to ./event. Then +it restarts ./run unless it has been told not to.
  • There is a minimum 1-second delay between two ./run spawns, to avoid busylooping if ./run exits too quickly.
  • When killed or asked to exit, it waits for the service to go down one last time, then @@ -78,10 +81,9 @@ what they do, are listed on the notification-fd file when the service is started, or restarted, s6-supervise creates and listens to an additional pipe from the service for readiness notification. When the -notification occurs, s6-supervise creates a ./supervise/ready -file containing the absolute time when readiness occurred, then sends -a 'U' event to ./event. The ./supervise/ready -file is deleted on service death. +notification occurs, s6-supervise updates the ./supervise/status +file accordingly, then sends +a 'U' event to ./event.

    -- cgit v1.2.3