diff options
author | tanimura <tanimura@FreeBSD.org> | 2002-04-02 17:12:06 +0000 |
---|---|---|
committer | tanimura <tanimura@FreeBSD.org> | 2002-04-02 17:12:06 +0000 |
commit | 448edc64b41e8d0220c4eaa170ff10164700ec44 (patch) | |
tree | f99460f08fd6efa937839d0462a49446be5160d7 /sys/kern/tty.c | |
parent | eb20435a6906b433f62bf89933bc486aa0ecde07 (diff) | |
download | FreeBSD-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.c | 2 |
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 */ |