CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2022/06/12 04:34:36

Modified files:
        sys/kern       : kern_event.c 

Log message:
kqueue: Fix missing wakeup

While one thread is running kqueue_scan(), another thread can begin
scanning the same kqueue, observe that the event queue is empty, and
go to sleep. If the first thread re-inserts a knote for re-processing,
the second thread can miss the newly pending event. Wake up the kqueue
after a re-insert to correct this.

This fixes a Go test hang that jsing@ tracked down to kqueue.

Tested in snaps for a week.

OK jsing@ mpi@

Reply via email to