| 4c91dbc9 | 03-Aug-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Make filters able to be marked MPSAFE
* Change struct filterops f_isfd field to f_flags, taking FILTEROP_ISFD and/or FILTEROP_MPSAFE.
* Convert all existing filter definitions to use new
kernel - Make filters able to be marked MPSAFE
* Change struct filterops f_isfd field to f_flags, taking FILTEROP_ISFD and/or FILTEROP_MPSAFE.
* Convert all existing filter definitions to use new flags.
* Create filter_attach/detach/event wrapper functions for calling through the struct filterops vector that grab the MPLOCK as necessary.
* kern_event() uses kq->kq_count to determine whether or not to sleep, kqueue_scan() removes events from the TAILQ and can possibly sleep, releasing the global kq token, before updating kq->kq_count.
show more ...
|