PFD_TRAPFD
pfd[PFD_TRAPFD].fd = trapfd;
pfd[PFD_TRAPFD].events = POLLIN;
pfd[PFD_TRAPFD].fd = -1;
pfd[PFD_TRAPFD].events = 0;
if (pfd[PFD_TRAPFD].revents & (POLLIN|POLLHUP))