In 1999 fd_set overflowing beyond FD_SETSIZE became enough of a problem that I
authorderaadt <deraadt@openbsd.org>
Fri, 21 Jan 2022 16:18:16 +0000 (16:18 +0000)
committerderaadt <deraadt@openbsd.org>
Fri, 21 Jan 2022 16:18:16 +0000 (16:18 +0000)
commitffe4333aeace49a5e2e7356f831a9a55e645f174
tree6d99b80fd425bb96e17b3a5c1529c283547631e8
parent7b7ad45c6eb1f81fda7b875a3e190e53cf2d4bd2
In 1999 fd_set overflowing beyond FD_SETSIZE became enough of a problem that I
changed the entire tree to use fd_set allocation, and this manpage documented
the "calloc(howmany(max+1, NFDBITS), sizeof(fd_mask))" idiom.  Since then we
completed converting the entire tree to poll(2), for many reasons, even ssh/sshd.
Now the use of kernel-only sys/param.h-found howmany() and related macross grate
on me, so it is time to recommend use of poll(2) instead.  [On a related note,
MacOS poll(2) is been dangerously broken for many years; that is their problem to
handle as the whole ecosystem joins us in pivoting select -> poll)
ok millert
lib/libc/sys/select.2