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.
> 

Reply via email to