Great that it is fixed now for us, however this remains a big problem on older systems. So the question is should we mention this as a coding hazard for developers, or should we ignore the problem.
Visa Hankala <[email protected]> wrote: > The poll(2) and select(2) manual pages say that the system calls perform > poorly if there is overlapping monitoring. This note can be removed as > the kqueue-based code does not suffer from select collisions. > > OK? > > Index: lib/libc/sys/poll.2 > =================================================================== > RCS file: src/lib/libc/sys/poll.2,v > retrieving revision 1.36 > diff -u -p -r1.36 poll.2 > --- lib/libc/sys/poll.2 18 Aug 2018 16:55:30 -0000 1.36 > +++ lib/libc/sys/poll.2 13 Nov 2021 06:07:54 -0000 > @@ -361,9 +361,3 @@ Similarly, the > and > .Dv POLLRDBAND > flags are also equivalent. > -.Pp > -Internally to the kernel, > -.Fn poll > -and > -.Fn ppoll > -work poorly if multiple processes wait on the same file descriptor. > Index: lib/libc/sys/select.2 > =================================================================== > RCS file: src/lib/libc/sys/select.2,v > retrieving revision 1.43 > diff -u -p -r1.43 select.2 > --- lib/libc/sys/select.2 13 Aug 2020 01:00:03 -0000 1.43 > +++ lib/libc/sys/select.2 13 Nov 2021 06:07:54 -0000 > @@ -291,9 +291,3 @@ before and after the call to > .Fn select , > and using > .Xr timersub 3 . > -.Pp > -Internally to the kernel, > -.Fn select > -and > -.Fn pselect > -work poorly if multiple processes wait on the same file descriptor. >
