diff options
author | tegge <tegge@FreeBSD.org> | 1997-05-29 13:29:13 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1997-05-29 13:29:13 +0000 |
commit | ddd2ab1026794ffe0e1fd2c932dcb724ed1b2c30 (patch) | |
tree | 36f14b5bd82d80ea3fd5e35fa2c3852ee2a45d09 /sys/fs | |
parent | 587ca3db0aa02835fc741dae538ce71fd3ef7240 (diff) | |
download | FreeBSD-src-ddd2ab1026794ffe0e1fd2c932dcb724ed1b2c30.zip FreeBSD-src-ddd2ab1026794ffe0e1fd2c932dcb724ed1b2c30.tar.gz |
Don't remove the controlling tty from the session if the vnode is being
cleaned. This should help for PR kern/3581.
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/specfs/spec_vnops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index 7a346f6..b98fced 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95 - * $Id: spec_vnops.c,v 1.38 1997/03/24 11:24:44 bde Exp $ + * $Id: spec_vnops.c,v 1.39 1997/05/01 19:12:22 sos Exp $ */ #include <sys/param.h> @@ -595,6 +595,7 @@ spec_close(ap) * plus the session), release the reference from the session. */ if (vcount(vp) == 2 && ap->a_p && + (vp->v_flag & VXLOCK) == 0 && vp == ap->a_p->p_session->s_ttyvp) { vrele(vp); ap->a_p->p_session->s_ttyvp = NULL; |