X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_listen_fds.xml;h=4377745634195611b0461d3878cf7cd20d5b98d5;hb=40780877c19ef408da8ab21f4156cfc153f94b5c;hp=6a9e082180670dd1a8f8209083b331606f6f9178;hpb=b040723ea412209e0edf54647fa5aa4287411507;p=elogind.git
diff --git a/man/sd_listen_fds.xml b/man/sd_listen_fds.xml
index 6a9e08218..437774563 100644
--- a/man/sd_listen_fds.xml
+++ b/man/sd_listen_fds.xml
@@ -21,7 +21,8 @@
along with systemd; If not, see .
-->
-
+
sd_listen_fds
@@ -72,7 +73,7 @@
If the unset_environment
parameter is non-zero,
sd_listen_fds() will unset the
- $LISTEN_FDS/$LISTEN_PID
+ $LISTEN_FDS and $LISTEN_PID
environment variables before returning (regardless of
whether the function call itself succeeded or
not). Further calls to
@@ -82,10 +83,11 @@
If a daemon receives more than one file
descriptor, they will be passed in the same order as
- configured in the systemd socket definition
- file. Nonetheless, it is recommended to verify the
- correct socket types before using them. To simplify
- this checking, the functions
+ configured in the systemd socket unit file (see
+ systemd.socket5
+ for details). Nonetheless, it is recommended to verify
+ the correct socket types before using them. To
+ simplify this checking, the functions
sd_is_fifo3,
sd_is_socket3,
sd_is_socket_inet3,
@@ -102,6 +104,16 @@
This function call will set the FD_CLOEXEC flag
for all passed file descriptors to avoid further
inheritance to children of the calling process.
+
+ If multiple socket units activate the same
+ service the order of the file descriptors passed to
+ its main process is undefined. If additional file
+ descriptors have been passed to the service manager
+ using
+ sd_pid_notify_with_fds3's
+ FDSTORE=1 messages, these file
+ descriptors are passed last, in arbitrary order, and
+ with duplicates removed.
@@ -121,13 +133,7 @@
Notes
- This function is provided by the reference
- implementation of APIs for new-style daemons and
- distributed with the systemd package. The algorithm it
- implements is simple, and can easily be reimplemented
- in daemons if it is important to support this
- interface without using the reference
- implementation.
+
Internally, this function checks whether the
$LISTEN_PID environment variable
@@ -138,30 +144,6 @@
number of file descriptors starting from
SD_LISTEN_FDS_START. Finally, it returns the parsed
number.
-
- For details about the algorithm check the
- liberally licensed reference implementation sources:
-
- and
-
- sd_listen_fds() is
- implemented in the reference implementation's
- sd-daemon.c and
- sd-daemon.h files. These
- interfaces are available as a shared library, which can
- be compiled and linked to with the
- libsystemd-daemon pkg-config1
- file. Alternatively, applications consuming these APIs
- may copy the implementation into their source
- tree. For more details about the reference
- implementation, see
- sd-daemon3.
-
- If the reference implementation is used as
- drop-in files and -DDISABLE_SYSTEMD is set during
- compilation, this function will always return 0 and
- otherwise become a NOP.