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