kernel - kqfilter - Fix edge-case lockup in kern_kevent()
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 9 Jul 2010 21:08:23 +0000 (14:08 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 9 Jul 2010 21:08:23 +0000 (14:08 -0700)
commit62405ecc9078dc3f5e679184fd53baf760eef456
tree43245d15b738765ecd0aaf617a0d844d042c088d
parentb287d64931f43a98750195e846e5681a1b90eb06
kernel - kqfilter - Fix edge-case lockup in kern_kevent()

* An edge case where the marker can wind up at the head of
  a non-empty event list containing only spurious events.  This
  causes an endless loop to be entered because only the sleep
  case moves the marker.

* If no events were processed and we loop the marker is now
  moved, fixing the problem.
sys/kern/kern_event.c