DragonFly-2.3.1.768.ga3244 master sys/dev/misc/dcons dcons_os.c sys/dev/misc/nmdm nmdm.c sys/dev/misc/syscons syscons.c sysmouse.c sys/dev/serial/cy cy.c sys/dev/serial/dgb dgm.c sys/dev/serial/digi digi.c sys/dev/serial/rc rc.c sys/dev/serial/rp rp.c sys/dev/serial/si si.c sys/dev/serial/sio sio.c sys/dev/serial/stl stallion.c sys/dev/serial/stli istallion.c sys/dev/usbmisc/ucom ucom.c sys/kern kern_device.c tty.c tty_pty.c vfs_subr.c sys/sys device.h tty.h

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Jul 11 16:04:38 PDT 2009


commit a32446b7b42983c7cb48c360d105496b4a3596c3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Jul 11 15:56:25 2009 -0700

    vrevoke/single-user - fix more revoke issues.
    
    * vrevoke() no longer clears vp->v_rdev.  Doing so interferes with specfs's
      ability to call dev_dclose().  Fixing this will allow the regular close
      of the vnode to close the underlying device.
    
      Since the revoke code detaches the vnode from any user-visible file
      descriptors the vnode will end up being closed the moment the last
      referenced to the detached fp goes away.
    
    * kill 1 no longer leaves the syscons in a state where both /dev/ttyv0 and
      /dev/console are marked open (due to the above bug).  This state would
      cause the keyboard to stop working sometimes when dropping into single
      user.
    
    * Add dev_drevoke() and friends.  This allows a device to do something
      when an attempt is made to revoke() the related vnode.
    
      TTY and PTY devices now attempt to break out of any ttysleep() operation
      (such as when processes are blocked in read()).  This is advisory and
      if it fails to break a process out of a blocked condition that process
      will still detach after the blocked condition is resolved normally.

Summary of changes:
 sys/dev/misc/dcons/dcons_os.c   |    1 +
 sys/dev/misc/nmdm/nmdm.c        |    1 +
 sys/dev/misc/syscons/syscons.c  |    3 ++-
 sys/dev/misc/syscons/sysmouse.c |    1 +
 sys/dev/serial/cy/cy.c          |    3 ++-
 sys/dev/serial/dgb/dgm.c        |    3 ++-
 sys/dev/serial/digi/digi.c      |    3 ++-
 sys/dev/serial/rc/rc.c          |    3 ++-
 sys/dev/serial/rp/rp.c          |    1 +
 sys/dev/serial/si/si.c          |    3 ++-
 sys/dev/serial/sio/sio.c        |    3 ++-
 sys/dev/serial/stl/stallion.c   |    3 ++-
 sys/dev/serial/stli/istallion.c |    3 ++-
 sys/dev/usbmisc/ucom/ucom.c     |    3 ++-
 sys/kern/kern_device.c          |   18 ++++++++++++++++++
 sys/kern/tty.c                  |   22 ++++++++++++++++++++++
 sys/kern/tty_pty.c              |    6 ++++--
 sys/kern/vfs_subr.c             |   19 ++++++++++++++++---
 sys/sys/device.h                |   16 +++++++++++++++-
 sys/sys/tty.h                   |    1 +
 20 files changed, 100 insertions(+), 16 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a32446b7b42983c7cb48c360d105496b4a3596c3


-- 
DragonFly BSD source repository





More information about the Commits mailing list