diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2001-05-04 18:13:11 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2001-05-04 18:13:11 +0000 |
| commit | 6c49a8e295def754c6d902ca8563cce6571cfbf3 (patch) | |
| tree | 91108b384879e37e7c56ce24ca9902158cc567cf /sys/kern/sys_process.c | |
| parent | f21559815d204e3a57da3222866b83a11f290ded (diff) | |
Notes
Diffstat (limited to 'sys/kern/sys_process.c')
| -rw-r--r-- | sys/kern/sys_process.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index d08f342723e7..03640cf6e11d 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -381,7 +381,12 @@ ptrace(curp, uap) struct proc *pp; pp = pfind(p->p_oppid); - proc_reparent(p, pp ? pp : initproc); + if (pp != NULL) + PROC_UNLOCK(pp); + else + pp = initproc; + PROC_LOCK(p); + proc_reparent(p, pp); } else PROC_LOCK(p); p->p_flag &= ~(P_TRACED | P_WAITED); |
