git: kernel - kqueue - Bug fixing pass

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


commit 679058fbe81291592277c174e94476a721d3e049
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Jun 26 14:02:36 2010 -0700

    kernel - kqueue - Bug fixing pass
    
    * We cannot terminate the loop when events are received if all the
      events are spurious (none were collected by the copyout).
    
    * Move the WOULDBLOCK -> 0 handling out of kqueue_scan() and into
      kern_kevent().
    
    * Preset (*errorp) to 0 so it is set definitively for all cases, including
      degenerate cases.
    
    * Allow an infinite number of events when doselect() calls kern_kevent()
      to avoid premature termination on successive calls which could occur
      due to spurious events.
    
    * Fix a bug in dopoll() where the bytes variable was calculated prior to
      the truncation of nfds.
    
    * Fix copyin/copyout arguments.
    
    * Add missing rel_mplock() in pipe_kqfilter()

Summary of changes:
 sys/kern/kern_event.c  |   29 +++++++++++++++++++++++------
 sys/kern/sys_generic.c |   22 +++++++++++++---------
 sys/kern/sys_pipe.c    |    1 +
 3 files changed, 37 insertions(+), 15 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/679058fbe81291592277c174e94476a721d3e049


-- 
DragonFly BSD source repository





More information about the Commits mailing list