Print this page
OS-5370 panic in signalfd (fix mancheck)
OS-5370 panic in signalfd
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

*** 82,91 **** --- 82,100 ---- uint64_t ssi_stime; /* system CPU time consumed (SIGCHLD) */ uint64_t ssi_addr; /* address that generated signal */ uint8_t ssi_pad[48]; /* pad size to 128 bytes */ } signalfd_siginfo_t; + NOTES + File descriptor duplication during fork presents a challenge to the + 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 epoll(5), /dev/poll, or 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 close(2) on the descriptors. + RETURN VALUES Upon successful completion, a file descriptor associated with the instance is returned. Otherwise, -1 is returned and errno is set to indicate the error. When fd is not -1 and there is no error, the value of fd is returned.
*** 104,111 **** the calling process. ENODEV Unable to allocate state for the file descriptor. SEE ALSO ! poll(2), sigwait(2), sigsetops(3C), sigwaitinfo(3C), signal.h(3HEAD) ! illumos April 9, 2016 illumos --- 113,121 ---- the calling process. ENODEV Unable to allocate state for the file descriptor. SEE ALSO ! poll(2), sigwait(2), port_create(3C), sigsetops(3C), sigwaitinfo(3C), ! signal.h(3HEAD), epoll(5) ! illumos May 5, 2016 illumos