summaryrefslogtreecommitdiff
path: root/sys/kern/kern_proc.c
diff options
context:
space:
mode:
authorMartin Blapp <mbr@FreeBSD.org>2006-09-23 17:35:24 +0000
committerMartin Blapp <mbr@FreeBSD.org>2006-09-23 17:35:24 +0000
commit45e6819160f8a229ddae3ddf2c8710f4ae4475ae (patch)
treeee297529719362096682efc79261b4262cf1db59 /sys/kern/kern_proc.c
parentf1edc3bde5ee43672c64104611d59c892998d5d2 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r--sys/kern/kern_proc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index e7b3460d1ec9..1250e7bf5344 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -313,6 +313,7 @@ enterpgrp(p, pgid, pgrp, sess)
PROC_LOCK(p);
p->p_flag &= ~P_CONTROLT;
PROC_UNLOCK(p);
+ mtx_lock(&Giant); /* XXX TTY */
PGRP_LOCK(pgrp);
sess->s_leader = p;
sess->s_sid = p->p_pid;
@@ -325,6 +326,7 @@ enterpgrp(p, pgid, pgrp, sess)
KASSERT(p == curproc,
("enterpgrp: mksession and p != curproc"));
} else {
+ mtx_lock(&Giant); /* XXX TTY */
pgrp->pg_session = p->p_session;
SESS_LOCK(pgrp->pg_session);
pgrp->pg_session->s_count++;
@@ -342,6 +344,7 @@ enterpgrp(p, pgid, pgrp, sess)
pgrp->pg_jobc = 0;
SLIST_INIT(&pgrp->pg_sigiolst);
PGRP_UNLOCK(pgrp);
+ mtx_unlock(&Giant); /* XXX TTY */
doenterpgrp(p, pgrp);