diff options
author | davidxu <davidxu@FreeBSD.org> | 2010-10-25 13:13:16 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2010-10-25 13:13:16 +0000 |
commit | bc55e49455ed3d1424a3ef788f2c2b53c293e4e0 (patch) | |
tree | 048bb90b45e1b0df11351a4d5c65f40568911e40 /sys/kern/kern_cpuset.c | |
parent | b4fee3c1ed8a70a52da851176862f496b045b135 (diff) | |
download | FreeBSD-src-bc55e49455ed3d1424a3ef788f2c2b53c293e4e0.zip FreeBSD-src-bc55e49455ed3d1424a3ef788f2c2b53c293e4e0.tar.gz |
Use function tdfind() to find a thread.
Diffstat (limited to 'sys/kern/kern_cpuset.c')
-rw-r--r-- | sys/kern/kern_cpuset.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index 3bdb45e..23aa9df 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -416,19 +416,10 @@ cpuset_which(cpuwhich_t which, id_t id, struct proc **pp, struct thread **tdp, td = curthread; break; } - sx_slock(&allproc_lock); - FOREACH_PROC_IN_SYSTEM(p) { - PROC_LOCK(p); - FOREACH_THREAD_IN_PROC(p, td) - if (td->td_tid == id) - break; - if (td != NULL) - break; - PROC_UNLOCK(p); - } - sx_sunlock(&allproc_lock); + td = tdfind(id, -1); if (td == NULL) return (ESRCH); + p = td->td_proc; break; case CPU_WHICH_CPUSET: if (id == -1) { |