git: kernel - kqueue select support

Samuel Greear sjg at
Mon Jul 19 14:58:42 PDT 2010

commit 8acdf1cfa6e56d6bf85dba89692dd5d2f6078d3a
Author: Matthew Dillon <dillon at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list