summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/specfs
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1997-05-29 13:29:13 +0000
committertegge <tegge@FreeBSD.org>1997-05-29 13:29:13 +0000
commitddd2ab1026794ffe0e1fd2c932dcb724ed1b2c30 (patch)
tree36f14b5bd82d80ea3fd5e35fa2c3852ee2a45d09 /sys/miscfs/specfs
parent587ca3db0aa02835fc741dae538ce71fd3ef7240 (diff)
downloadFreeBSD-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/miscfs/specfs')
-rw-r--r--sys/miscfs/specfs/spec_vnops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c
index 7a346f6..b98fced 100644
--- a/sys/miscfs/specfs/spec_vnops.c
+++ b/sys/miscfs/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;
OpenPOWER on IntegriCloud