summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authortanimura <tanimura@FreeBSD.org>2002-03-11 07:51:08 +0000
committertanimura <tanimura@FreeBSD.org>2002-03-11 07:51:08 +0000
commitb9e49bfcc91fc2e10b17f9bec70d4d4cfb27ad51 (patch)
treee89af2e0ef5699ab55183e3084f85fedb43b928a /sys
parenta16c1fce788aa5ca770f4ca66adcf6bec9e7c01e (diff)
downloadFreeBSD-src-b9e49bfcc91fc2e10b17f9bec70d4d4cfb27ad51.zip
FreeBSD-src-b9e49bfcc91fc2e10b17f9bec70d4d4cfb27ad51.tar.gz
Do not lock the pgrpsess_lock exclusively across ttywait().
Spotted by: David Wolfskill <david@catwhisker.org> Investigated by: rwatson
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_exit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 37d2ab1..be845fc 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -251,7 +251,9 @@ exit1(td, rv)
PGRP_UNLOCK(sp->s_ttyp->t_pgrp);
}
/* XXX tp should be locked. */
+ PGRPSESS_XUNLOCK();
(void) ttywait(tp);
+ PGRPSESS_XLOCK();
/*
* The tty could have been revoked
* if we blocked.
OpenPOWER on IntegriCloud