Subject: Re: revoke(2), /dev/console and /dev/ttyE0
To: David Laight <david@l8s.co.uk>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 10/15/2003 09:21:28
--jRHKVT23PllUwdXP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Oct 15, 2003 at 12:26:30AM +0100, David Laight wrote:
> > > > What's supposed to happen is that the revoke on one of the nodes wi=
ll=20
> > > > wander through vgonel(), and then to vclean(, DOCLOSE, ), and event=
ually=20
> > > > to a VOP_CLOSE() call on the underlying device. If that close happe=
ns on=20
> > > > the console device, it will end up closing the underlying device.
> > >=20
> > > The VOP_VLOSE() on the underlying device only happens on the last clo=
se.
> >=20
> > Are you sure of that? Look at spec_close() and remember that when we're=
 in=20
> > vclean(), VXLOCK will be set:
>=20
> That is true for /dev/console, but not when the cons code releases
> /dev/ttyE0 - which is the device that needs its close routine called.

Then we should add a new flag to the ones we pass down to dev::close()
and tell it that we are forcing the close. In that case, have the console=
=20
code force-close the underlying tty.

Take care,

Bill

--jRHKVT23PllUwdXP
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQE/jXQIWz+3JHUci9cRApdsAJ4xwmqzjL188MbUmchT9VtIoO7K4wCeIOAV
AMESfVCOYNSMd0vkID9+pJE=
=zSfn
-----END PGP SIGNATURE-----

--jRHKVT23PllUwdXP--