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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to