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>
*** 6,18 ****
.\"
.\" A full copy of the text of the CDDL should have accompanied this
.\" source. A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
! .\" Copyright 2015, Joyent, Inc.
.\"
! .Dd "April 9, 2016"
.Dt SIGNALFD 3C
.Os
.Sh NAME
.Nm signalfd
.Nd create or modify a file descriptor for signal handling
--- 6,18 ----
.\"
.\" A full copy of the text of the CDDL should have accompanied this
.\" source. A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
! .\" Copyright 2016, Joyent, Inc.
.\"
! .Dd "May 05, 2016"
.Dt SIGNALFD 3C
.Os
.Sh NAME
.Nm signalfd
.Nd create or modify a file descriptor for signal handling
*** 148,157 ****
--- 148,171 ----
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;
.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 successful completion, a file descriptor associated with the instance
is returned. Otherwise, -1 is returned and errno is set to indicate the error.
When
.Va fd
*** 185,192 ****
Unable to allocate state for the file descriptor.
.El
.Sh SEE ALSO
.Xr poll 2 ,
.Xr sigwait 2 ,
.Xr sigsetops 3C ,
.Xr sigwaitinfo 3C ,
! .Xr signal.h 3HEAD
--- 199,208 ----
Unable to allocate state for the file descriptor.
.El
.Sh SEE ALSO
.Xr poll 2 ,
.Xr sigwait 2 ,
+ .Xr port_create 3C ,
.Xr sigsetops 3C ,
.Xr sigwaitinfo 3C ,
! .Xr signal.h 3HEAD ,
! .Xr epoll 5