sigfd
ssize_t res = read (sigfd, si, sizeof (si));
sigfd = flags & EVFLAG_SIGNALFD ? -2 : -1;
close (sigfd);
if (sigfd == -2)
sigfd = signalfd (-1, &sigfd_set, SFD_NONBLOCK | SFD_CLOEXEC);
if (sigfd < 0 && errno == EINVAL)
sigfd = signalfd (-1, &sigfd_set, 0); /* retry without flags */
if (sigfd >= 0)
fd_intern (sigfd); /* doing it twice will not hurt */
ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
if (sigfd >= 0)
signalfd (sigfd, &sigfd_set, 0);
if (sigfd < 0) /*TODO*/
if (sigfd >= 0)
signalfd (sigfd, &sigfd_set, 0);
VARx(int, sigfd)
#define sigfd ((loop)->sigfd)