PFD_FIRSTCON
pfd = reallocarray(NULL, PFD_FIRSTCON + maxcon, sizeof(*pfd));
con[i].pfd = &pfd[PFD_FIRSTCON + i];
n = poll(pfd, PFD_FIRSTCON + numcon, timeout);
if (pfd[PFD_FIRSTCON + i].revents & POLLHUP) {
if (pfd[PFD_FIRSTCON + i].revents & POLLIN) {
(pfd[PFD_FIRSTCON + i].revents & POLLOUT)) {