OS X poll breakage (Was: Please help test recent changes)

Nicholas Marriott nicholas.marriott at gmail.com
Thu Jan 13 08:02:51 AEDT 2022


epoll doesn't (or didn't) work with /dev/null either in any case.

Only select works on everything on macOS and only poll or select on Linux.



On Tue, 11 Jan 2022, 22:46 Damien Miller, <djm at mindrot.org> wrote:

> On Tue, 11 Jan 2022, Demi Marie Obenour wrote:
>
> > > Wow, it looks like Darwin's poll(2) is completely broken for
> > > character- special devices (at least). E.g. the attached program
> > > spins shows similar behaviour when run on /dev/null - it spins,
> > > returning revents=POLLNVAL.
> >
> > Is using kqueue(2) an option? That’s faster, and it doesn’t have the
> > problem with large file descriptors that poll(2) has.
>
> No, because it's not cross-platform and I don't want to have to maintain
> multiple mainloops (believe me, one is more than enough). It would have
> been really nice if the OSS Unix-like operating systems has standardised
> on one event notification; kqueue and epoll are both fine.
>
> Also, it seems like the OS X kqueue(2) implementation suffers from the
> same bug anyway. I suspect that this is the root cause, and that their
> poll(2) is built on top of kqueue(2).
>
> -d
> _______________________________________________
> openssh-unix-dev mailing list
> openssh-unix-dev at mindrot.org
> https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev
>


More information about the openssh-unix-dev mailing list