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