s6
Software
skarnet.org
The s6-fdholder-transferdumpc program
s6-fdholder-transferdumpc talks to two
fd-holding daemons: the source of the
transfer on its
standard input, and the destination of the transfer on its standard output,
both being
open Unix domain sockets. It retrieves the entire storage state of
the source daemon and dumps it into the destination daemon.
Interface
s6-fdholder-transferdumpc [ -t timeoutfrom ] [ -T timeoutto ]
- s6-fdholder-transferdumpc expects to talk to a listening
s6-fdholderd program on its descriptor 0 and
to another one on its descriptor 1.
- It gets the entire set of file descriptors from the first
server, with their identifiers and possibly expiration dates.
- It stores that set into the second server. The set is
added to the second server, which keeps the descriptors
it was already holding.
- It then exits 0, or 1 if a server returned an error.
Options
- -t timeoutfrom : if the set-retrieving
operation cannot be processed in timeoutfrom 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.
- -T timeoutto : same thing with the
set-storing operation.
Notes
- s6-fdholder-transferdumpc is the "internal" version of
s6-fdholder-transferdump. It simply
expects to be run with file descriptors already open to both
servers; s6-fdholder-transferdump
takes care of all the plumbing.
- The error messages for the s6-fdholder suite are explained
here.
- Dumping the entire state of s6-fdholderd
requires special authorizations. Make sure the s6-fdholderd instances are
configured to accept
dump-getting and dump-setting requests from your client.
- A typical use case of
s6-fdholder-transferdump and
s6-fdholder-transferdumpc is when the main fd-holding daemon needs to
upgrade, or restart for some reason. Transferring the file descriptors
into another, temporary fd-holding daemon instance allows it to
restart without losing the descriptors.