about summary refs log tree commit diff
path: root/doc/notifywhenup.html
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-06-15 18:27:25 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-06-15 18:27:25 +0000
commit0a39023fd7229371dd3e505208a1c0e073414ac2 (patch)
tree9689d12f7b1ae6c0144bbcb446ab1f0ee5dedfff /doc/notifywhenup.html
parent9cc5f3b25284ddca50ad1a19a83b1d1153dc9f5d (diff)
downloads6-0a39023fd7229371dd3e505208a1c0e073414ac2.tar.gz
s6-0a39023fd7229371dd3e505208a1c0e073414ac2.tar.xz
s6-0a39023fd7229371dd3e505208a1c0e073414ac2.zip
- Readiness notification support in s6-supervise
 - s6-notifywhenup deprecated
 - Change abundantly documented
 - rc for 2.1.4.0
Diffstat (limited to 'doc/notifywhenup.html')
-rw-r--r--doc/notifywhenup.html23
1 files changed, 10 insertions, 13 deletions
diff --git a/doc/notifywhenup.html b/doc/notifywhenup.html
index 6f9b06b..9a288ac 100644
--- a/doc/notifywhenup.html
+++ b/doc/notifywhenup.html
@@ -60,19 +60,16 @@ against the s6 library or use any s6-specific construct:
  daemons can simply write a line to a file descriptor of their choice,
 then close that file descriptor, when they're ready to serve. This is
 a generic mechanism that some daemons already implement.
-The administrator can
-then run the daemon under <a href="s6-notifywhenup.html">s6-notifywhenup</a>,
-which will properly catch the daemon's message and update a state file
-itself, then notify all the subscribers
-with a 'U' event, meaning that the service is now up. <br />
- Note that there is <em>still</em> a small race condition remaining:
-if the daemon writes a line then instantly dies, and the supervisor
-picks up the death before the <a href="s6-notifywhenup.html">s6-notifywhenup</a>
-program picks up the line, it is possible for the event sequence written
-to the fifodir to be wrong - 'd' before 'U'. This should be extremely
-rare, but unfortunately the race condition is unavoidable. The only
-way to be absolutely race-free is to have the daemon perform its
-readiness notification itself, which requires specific support.
+</p>
+
+<p>
+ s6 supports that mechanism natively: when the
+<a href="servicedir.html">service directory</a> for the daemon contains
+a valid <tt>notification-fd</tt> file, the daemon's supervisor, i.e. the
+<a href="s6-supervise.html">s6-supervise</a> program, will properly catch
+the daemon's message, update a state file (<tt>supervise/ready</tt>), then
+then notify all the subscribers
+with a 'U' event, meaning that the service is now up and ready.
 </p>
 
 <p>