This fixes a crash seen by matthieu@ when unplugging a ucom(4) which cu(1) is running.
On Wed, Apr 24, 2013 at 03:52:54AM -0600, Nicholas Marriott wrote: > CVSROOT: /cvs > Module name: src > Changes by: n...@cvs.openbsd.org 2013/04/24 03:52:54 > > Modified files: > sys/kern : kern_event.c tty.c > sys/sys : event.h > > Log message: > When a ucom(4) is removed, it frees the tty with ttyfree(). However if > anyone is waiting with kqueue their knotes may still have a reference to > the tty and later try to use it in the filt_tty* functions. > > To avoid this, walk the knotes in ttyfree(), remove them from the tty's > list and invalidate them by setting kn_hook to NODEV. The filter > functions can then check for this and safely ignore the knotes. > > ok tedu matthieu