git: kernel - kqueue - Bug fixing pass

看板DFBSD_commit作者時間15年前 (2010/07/20 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 679058fbe81291592277c174e94476a721d3e049 Author: Matthew Dillon <dillon@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
文章代碼(AID): #1CHD9gOb (DFBSD_commit)