On Mon, 06 Dec 2021 17:05:39 +0000, Visa Hankala wrote: > This adds EVFILT_EXCEPT handler for pipes. It is a subset of > EVFILT_READ; it triggers on EOF only. This captures the POLLHUP > condition of pipe_poll(), used with select(2)'s exceptfds and when > poll(2) has events without (POLLIN | POLLRDNORM | POLLOUT | POLLWRNORM).
This looks wrong. We should only be setting exceptfds for out of band data on sockets and ptys. Translating POLLHUP to exceptfds was a bug introduced by the previous select -> poll conversion in the kernel. I'm probably responsible for that, sorry. This non-standard behavior has resulted in at least one bug in the tree with ssh-keyscan being subtly broken on other systems. - todd
