On 13/10/21(Wed) 11:41, Alexander Bluhm wrote: > On Sat, Oct 02, 2021 at 09:10:13AM +0200, Martin Pieuchot wrote: > > ok? > > OK bluhm@ > > > + /* Maxium number of events per iteration */ > > Maximum > > > +int > > +pselcollect(struct proc *p, struct kevent *kevp, fd_set *pobits[3], > > + int *ncollected) > > +{ > > +#ifdef DIAGNOSTIC > > + /* Filter out and lazily delete spurious events */ > > + if ((unsigned long)kevp->udata != p->p_kq_serial) { > > + DPRINTFN(0, "select fd %u mismatched serial %lu\n", > > + (int)kevp->ident, p->p_kq_serial); > > + kevp->flags = EV_DISABLE|EV_DELETE; > > + kqueue_register(p->p_kq, kevp, p); > > + return (0); > > + } > > +#endif > > Why is it DIAGNOSTIC? Either it should not happen, then call panic(). > Or it is a valid corner case, then remove #ifdef DIAGNOSTIC. > > Different behavior with and without DIAGNOSTIC seems bad.
Indeed. It should not be in DIAGNOSTIC, that's a leftover from previous iteration of the diff, I'll fix both points before committing. Thanks for the review.