svn commit: r238643 - head/lib/libthr/thread
David Xu
davidxu at FreeBSD.org
Fri Jul 20 03:27:07 UTC 2012
Author: davidxu
Date: Fri Jul 20 03:27:07 2012
New Revision: 238643
URL: http://svn.freebsd.org/changeset/base/238643
Log:
Eliminate duplicated code.
Modified:
head/lib/libthr/thread/thr_getschedparam.c
Modified: head/lib/libthr/thread/thr_getschedparam.c
==============================================================================
--- head/lib/libthr/thread/thr_getschedparam.c Fri Jul 20 03:22:17 2012 (r238642)
+++ head/lib/libthr/thread/thr_getschedparam.c Fri Jul 20 03:27:07 2012 (r238643)
@@ -53,25 +53,16 @@ _pthread_getschedparam(pthread_t pthread
if (policy == NULL || param == NULL)
return (EINVAL);
- if (pthread == curthread) {
- /*
- * Avoid searching the thread list when it is the current
- * thread.
- */
+ /*
+ * Avoid searching the thread list when it is the current
+ * thread.
+ */
+ if (pthread == curthread)
THR_LOCK(curthread);
- *policy = curthread->attr.sched_policy;
- param->sched_priority = curthread->attr.prio;
- THR_UNLOCK(curthread);
- ret = 0;
- }
- /* Find the thread in the list of active threads. */
- else if ((ret = _thr_ref_add(curthread, pthread, /*include dead*/0))
- == 0) {
- THR_THREAD_LOCK(curthread, pthread);
- *policy = pthread->attr.sched_policy;
- param->sched_priority = pthread->attr.prio;
- THR_THREAD_UNLOCK(curthread, pthread);
- _thr_ref_delete(curthread, pthread);
- }
+ else if ((ret = _thr_find_thread(curthread, pthread, /*include dead*/0)))
+ return (ret);
+ *policy = pthread->attr.sched_policy;
+ param->sched_priority = pthread->attr.prio;
+ THR_THREAD_UNLOCK(curthread, pthread);
return (ret);
}
More information about the svn-src-head
mailing list