diff options
Diffstat (limited to 'usr/src/man/man3c/signalfd.3c')
-rw-r--r-- | usr/src/man/man3c/signalfd.3c | 22 |
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 |