diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2015-01-26 22:26:57 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2015-01-26 22:26:57 +0000 |
commit | 8bffa1c19fd05f4f04dad4b5b98f85b94f23113c (patch) | |
tree | f4e25c3cdb7118db02a06c85b7862107a2074ba4 /doc/s6-fdholder-getdumpc.html | |
parent | 49cb17940e403431566dc7b5a312624f14eb25d0 (diff) | |
download | s6-8bffa1c19fd05f4f04dad4b5b98f85b94f23113c.tar.xz |
- added s6-fdholder-delete(c)
- small s6-fdholder-* fixes
- s6-fdholder documentation (in review)
- s6_svstatus_* bugfix (thanks Olivier Brunel)
Diffstat (limited to 'doc/s6-fdholder-getdumpc.html')
-rw-r--r-- | doc/s6-fdholder-getdumpc.html | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/doc/s6-fdholder-getdumpc.html b/doc/s6-fdholder-getdumpc.html new file mode 100644 index 0000000..acaf31a --- /dev/null +++ b/doc/s6-fdholder-getdumpc.html @@ -0,0 +1,91 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <title>s6: the s6-fdholder-getdumpc program</title> + <meta name="Description" content="s6: the s6-fdholder-getdumpc program" /> + <meta name="Keywords" content="s6 s6-fdholder fd-holding fd-holder fd retrieval unix socket activation" /> + <!-- <link rel="stylesheet" type="text/css" href="http://skarnet.org/default.css" /> --> + </head> +<body> + +<p> +<a href="index.html">s6</a><br /> +<a href="http://skarnet.org/software/">Software</a><br /> +<a href="http://skarnet.org/">skarnet.org</a> +</p> + +<h1> The <tt>s6-fdholder-getdumpc</tt> program </h1> + +<p> +<tt>s6-fdholder-getdumpc</tt> talks to a +<a href="s6-fdholderd.html">fd-holding daemon</a> on its open +descriptors 6 and 7, and retrieves its whole state, +then executes a program with as many more file descriptors open +as were given by the daemon, plus a modified environment to +describe the retrieved state. +</p> + +<h2> Interface </h2> + +<pre> + s6-fdholder-retrievec [ -t <em>timeout</em> ] <em>prog...</em> +</pre> + +<ul> + <li> s6-fdholder-retrievec expects to talk to a listening +<a href="s6-fdholderd.html">s6-fdholderd</a> program on its descriptors 6 and 7. </li> + <li> It retrieves a copy of the whole set of file descriptors +stored in that daemon, including their identifiers and expiration dates. </li> + <li> It then executes into <em>prog...</em> with the additional descriptors +and environment. </li> +</ul> + +<h2> Options </h2> + +<ul> + <li> <tt>-t <em>timeout</em></tt> : if the operation cannot be +processed in <em>timeout</em> milliseconds, then fail with an error message. +Communications with the server should be near-instant, so this option is +only here to protect users against programming errors. </li> +</ul> + +<h2> Environment format </h2> + +<p> + <em>prog...</em> is executed with the following environment variables +set: +</p> + +<ul> + <li> <tt>S6_FD#</tt> : contains the number <em>n</em> of file +descriptors retrieved from the server. </li> + <li> Then, for every <em>i</em> between 0 and <em>n</em>-1 inclusive: + <ul> + <li> <tt>S6_FD_<em>i</em></tt> : contains the number of the <em>i</em>th +open file descriptor. </li> + <li> <tt>S6_FDID_<em>i</em></tt> : contains the identifier of the +<em>i</em>th open file descriptor. </li> + <li> <tt>S6_FDLIMIT_<em>i</em></tt> : contains the expiration date of +the <em>i</em>th open file descriptor, if applicable. That date is stored in +<a href="http://cr.yp.to/libtai/tai64.html#tai64n">external TAI64N +format</a>. </li> +If the file descriptor is not supposed to expire, that environment variable +is not defined. </li> + </ul> </li> +</ul> + +<h2> Notes </h2> + +<ul> + <li> s6-fdholder-getdumpc is the "internal" version of +<a href="s6-fdholder-getdump.html">s6-fdholder-getdump</a>. It simply +expects to be run as a UCSPI client, i.e. talking to the server +over descriptors 6 and 7, instead of connecting to the server +itself. </li> + <li> The error messages for the s6-fdholder suite are explained +<a href="s6-fdholder-errorcodes.html">here</a>. </li> +</ul> + +</body> +</html> |