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@