aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2008-09-16 14:57:23 +0000
committerEd Schouten <ed@FreeBSD.org>2008-09-16 14:57:23 +0000
commit42ff2756c7684428f867b0b1ced7f7b0e04d90ba (patch)
tree3189f895c04a095e22df6f0c2d9b07814761a05f /sys
parent6aa5a19391728a3ee106ad477480dd8aa788e4b4 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_proc.c1
-rw-r--r--sys/kern/tty.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 55f7e189e026..e45a4890fbe1 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -506,7 +506,6 @@ pgdelete(pgrp)
if (tp != NULL) {
tty_lock(tp);
tty_rel_pgrp(tp, pgrp);
- tty_unlock(tp);
}
mtx_destroy(&pgrp->pg_mtx);
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index bb0fb02c99f0..cd6a246f8fa1 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -940,10 +940,13 @@ tty_rel_free(struct tty *tp)
void
tty_rel_pgrp(struct tty *tp, struct pgrp *pg)
{
+ MPASS(tp->t_sessioncnt > 0);
tty_lock_assert(tp, MA_OWNED);
if (tp->t_pgrp == pg)
tp->t_pgrp = NULL;
+
+ tty_unlock(tp);
}
void