git: kernel - kqfilter - Fix edge-case lockup in kern_kevent()

Samuel Greear sjg at crater.dragonflybsd.org
Mon Jul 19 14:58:39 PDT 2010


commit 62405ecc9078dc3f5e679184fd53baf760eef456
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Jul 9 14:08:23 2010 -0700

    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.

Summary of changes:
 sys/kern/kern_event.c |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/62405ecc9078dc3f5e679184fd53baf760eef456


-- 
DragonFly BSD source repository





More information about the Commits mailing list