summaryrefslogtreecommitdiffstats
path: root/sys/kern/tty.c
diff options
context:
space:
mode:
authortanimura <tanimura@FreeBSD.org>2002-04-02 17:12:06 +0000
committertanimura <tanimura@FreeBSD.org>2002-04-02 17:12:06 +0000
commit448edc64b41e8d0220c4eaa170ff10164700ec44 (patch)
treef99460f08fd6efa937839d0462a49446be5160d7 /sys/kern/tty.c
parenteb20435a6906b433f62bf89933bc486aa0ecde07 (diff)
downloadFreeBSD-src-448edc64b41e8d0220c4eaa170ff10164700ec44.zip
FreeBSD-src-448edc64b41e8d0220c4eaa170ff10164700ec44.tar.gz
Fix leakage of p_pgrp lock.
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r--sys/kern/tty.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 1214513..3b7739d 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -2419,13 +2419,13 @@ ttyinfo(tp)
PGRP_UNLOCK(tp->t_pgrp);
ttyprintf(tp, "empty foreground process group\n");
} else {
- PGRP_UNLOCK(tp->t_pgrp);
mtx_lock_spin(&sched_lock);
/* Pick interesting process. */
for (pick = NULL; p != 0; p = LIST_NEXT(p, p_pglist))
if (proc_compare(pick, p))
pick = p;
+ PGRP_UNLOCK(tp->t_pgrp);
td = FIRST_THREAD_IN_PROC(pick);
stmp = pick->p_stat == SRUN ? "running" : /* XXXKSE */
OpenPOWER on IntegriCloud