git: kernel - kqueue select support

看板DFBSD_commit作者時間15年前 (2010/07/20 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 8acdf1cfa6e56d6bf85dba89692dd5d2f6078d3a Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Jun 22 21:59:29 2010 -0700 kernel - kqueue select support * Fix bug in kevent timeout handling. Only go to non-blocking once (*res) is non-zero. * Use stack-declared kfd_set structures for select operations on 64 or fewer descriptors. * Refactor the select_copyin() loop. * Fix bug in serial number decoding in the select_copyout() loop. * Do not use EV_CLEAR, this can cause temporary EOF conditions to reset improperly. Do not use EV_ONESHOT either. Leave the event in the kqueue, it will speed things up when select() is called in a loop (the events will already exist). * Implement ptckqfilter ... implement kqfilter functions for pty's and ptc's instead of using the tty kqfilter functions which do not work properly for ptc control terminals. * Change getbits/putbits from macros to inline functions. Summary of changes: sys/kern/kern_event.c | 27 ++++-- sys/kern/sys_generic.c | 241 ++++++++++++++++++++++++++++------------------- sys/kern/tty_pty.c | 109 +++++++++++++++++++++- 3 files changed, 269 insertions(+), 108 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8acdf1cfa6e56d6bf85dba89692dd5d2f6078d3a -- DragonFly BSD source repository
文章代碼(AID): #1CHD9hnU (DFBSD_commit)