summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_process.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2008-10-23 07:55:38 +0000
committerdavidxu <davidxu@FreeBSD.org>2008-10-23 07:55:38 +0000
commit2062caca2494bf113adefa9ca01f9f5fb24ad7b9 (patch)
tree0f85351fa5ffde7cf121d1e0f3f5e83ff415f868 /sys/kern/sys_process.c
parentb20c19bc667aef513fa9f5449df2d4a833e42d3d (diff)
downloadFreeBSD-src-2062caca2494bf113adefa9ca01f9f5fb24ad7b9.zip
FreeBSD-src-2062caca2494bf113adefa9ca01f9f5fb24ad7b9.tar.gz
Actually, for signal and thread suspension, extra process spin lock is
unnecessary, the normal process lock and thread lock are enough. The spin lock is still needed for process and thread exiting to mimic single sched_lock.
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r--sys/kern/sys_process.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index ceae8de..c67af8c 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -795,10 +795,8 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data)
* you should use PT_SUSPEND to suspend it before
* continuing process.
*/
- PROC_SLOCK(p);
p->p_flag &= ~(P_STOPPED_TRACE|P_STOPPED_SIG|P_WAITED);
thread_unsuspend(p);
- PROC_SUNLOCK(p);
} else {
if (data)
psignal(p, data);
OpenPOWER on IntegriCloud