summaryrefslogtreecommitdiff
path: root/usr/src/man/man3c/signalfd.3c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man3c/signalfd.3c')
-rw-r--r--usr/src/man/man3c/signalfd.3c22
1 files changed, 19 insertions, 3 deletions
diff --git a/usr/src/man/man3c/signalfd.3c b/usr/src/man/man3c/signalfd.3c
index 43699a50a5..eda57204b7 100644
--- a/usr/src/man/man3c/signalfd.3c
+++ b/usr/src/man/man3c/signalfd.3c
@@ -8,9 +8,9 @@
.\" source. A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
-.\" Copyright 2015, Joyent, Inc.
+.\" Copyright 2016, Joyent, Inc.
.\"
-.Dd "Jun 15, 2015"
+.Dd "May 05, 2016"
.Dt SIGNALFD 3C
.Os
.Sh NAME
@@ -150,6 +150,20 @@ typedef struct signalfd_siginfo {
uint8_t ssi_pad[48]; /* pad size to 128 bytes */
} signalfd_siginfo_t;
.Ed
+.Sh NOTES
+File descriptor duplication during fork presents a challenge to the
+.Sy signalfd
+facility since signal data and events are dependent on the process from which
+they are queried. Its use with caching event systems such as
+.Xr epoll 5 ,
+.Sy /dev/poll ,
+or
+.Xr port_create 3C
+can result in undefined behavior if signalfd and polling descriptors are used
+together after being shared across a fork. Such restrictions do not apply if
+the child only calls
+.Xr close 2
+on the descriptors.
.Sh RETURN VALUES
Upon succesful completion, a file descriptor associated with the instance
is returned. Otherwise, -1 is returned and errno is set to indicate the error.
@@ -189,4 +203,6 @@ Unable to allocate state for the file descriptor.
.Xr sigwait 2 ,
.Xr sigsetops 3C ,
.Xr sigwaitinfo 3C ,
-.Xr signal.h 3HEAD
+.Xr signal.h 3HEAD ,
+.Xr epoll 5 ,
+.Xr port_create 3C