git: kernel - implement serialno for kqueue poll handling part 1

看板DFBSD_commit作者時間15年前 (2010/07/20 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit fe24d605c5ed729a65d5866e8b0622aaff1a13d6 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Jul 8 21:46:52 2010 -0700 kernel - implement serialno for kqueue poll handling part 1/2 * The kqueue implementation for the poll system call was improperly triggering on spurious events. * Adjust the poll support code to implement a serial number scheme similar to how the select code works. The poll array index is also encoded. * poll() handles unsupported POLLPRI and POLLRDBAND requests differently from select(). poll() ignores these requests if they are not supported (select returns an error). Allow kqfilter functions to return EPERM or EOPNOTSUPP to indicate an unsupported filter. Return values will be fixed in part 2. Summary of changes: sys/kern/kern_event.c | 22 +++++++- sys/kern/sys_generic.c | 133 ++++++++++++++++++++++++++++++++++------------- sys/kern/sys_pipe.c | 2 +- 3 files changed, 116 insertions(+), 41 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fe24d605c5ed729a65d5866e8b0622aaff1a13d6 -- DragonFly BSD source repository
文章代碼(AID): #1CHD9igo (DFBSD_commit)