diff options
author | Patrick Mooney <pmooney@pfmooney.com> | 2016-04-28 17:29:34 +0000 |
---|---|---|
committer | Patrick Mooney <pmooney@pfmooney.com> | 2016-05-16 20:12:50 +0000 |
commit | a257e301376666442c2b655cf573c9d3e34b1ed5 (patch) | |
tree | aa6e8bd4f5ee60edcb41cc85028b452ebe7d0031 /usr/src/man/man3c | |
parent | 853d741a1b53497dd22f8c9cc2d126ba76142275 (diff) | |
download | illumos-joyent-a257e301376666442c2b655cf573c9d3e34b1ed5.tar.gz |
OS-5370 panic in signalfd
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/man/man3c')
-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 |