Obviously.

Back it out, ASAP, then try to repair.

It is quite surprising there aren't enough regression tests to catch
something like this.


Anton Lindqvist <an...@openbsd.org> wrote:

> On Thu, Oct 14, 2021 at 02:46:01AM -0600, Martin Pieuchot wrote:
> > CVSROOT:    /cvs
> > Module name:        src
> > Changes by: m...@cvs.openbsd.org    2021/10/14 02:46:01
> > 
> > Modified files:
> >     sys/kern       : sys_generic.c 
> > 
> > Log message:
> > Implement select(2) and pselect(2) on top of kqueue.
> > 
> > The given set of fds are converted to equivalent kevents using EV_SET(2)
> > and passed to the scanning internals of kevent(2): kqueue_scan().  Those
> > events are lazily deleted to reduce the overhard of freeing/allocating
> > them when select(2) is called in a loop.
> > 
> > ktrace(1) will now output the converted kevents on top of the usuals set
> > bits to be able to find possible error in the convertion.
> > 
> > This switch implies that select(2) and pselect(2) will now query the
> > underlying kqfilters instead of the *_poll() routines.  An increase in
> > latency is visible, especially with UDP sockets and NET_LOCK()-contended
> > subsystems and will be addressed in a next step.
> > 
> > The various *_poll() routines could be removed as soon as poll(2) and
> > ppoll(2) are also converted.
> > 
> > Based on similar work done on DragonFlyBSD with inputs from from visa@,
> > millert@, anton@, cheloha@, thanks!
> > 
> > ok claudio@, bluhm@
> > 
> 
> regress/usr.bin/ssh got stuck in an odd state where the sshd.log keeps
> growing. This line is repeated over and over:
> 
>       pselect: Broken pipe
> 
> Did the select semantics change?
> 

Reply via email to