cvs commit: src/sys/kern kern_event.c src/sys/sys eventvar.h

Robert Watson rwatson at FreeBSD.org
Wed Jul 14 07:43:40 PDT 2004


On Wed, 14 Jul 2004, Alfred Perlstein wrote:

>   Log:
>   Make FIOASYNC, FIOSETOWN and FIOGETOWN work on kqueues.

Have you tried testing this on a kqueue used to monitor signals?  I'd draw
your particular attention to the following newly enabled code path:

pgsigio() -> psignal() -> tdsignal() -> do_tdsignal() -> KNOTE() ->
  knote() -> KNOTE_ACTIVATE() -> knote_enqueue() -> kqueue_wakeup() ->
  pgsigio()

It strikes me that adding sigio support to kqueue opens a massive can of
worms, not least of which is how you prevent the above from causing the
system to panic, not to mention how you handle locking in what is
otherwise a set of leaf functions in kqueue.  I'd like it if you could
back this out until locking for kqueue is resolved, as while this is no
doubt a useful feature, having the locking working is much more useful to
us for 5.3.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Principal Research Scientist, McAfee Research




More information about the cvs-src mailing list