Revert "Stop checking the global thread list in several trivial cases."
This reverts commit f5a4992b7186c01b98cb9400b2b5b490805a87bb.
Breaks OMX_ImgEnc in cameraserver (http://b/35088254).
Change-Id: I6dcf12706a184b0b8b72451584567a42dfa1bb4f
diff --git a/libc/bionic/pthread_getschedparam.cpp b/libc/bionic/pthread_getschedparam.cpp
index 4267a0e..052fb05 100644
--- a/libc/bionic/pthread_getschedparam.cpp
+++ b/libc/bionic/pthread_getschedparam.cpp
@@ -34,11 +34,15 @@
int pthread_getschedparam(pthread_t t, int* policy, sched_param* param) {
ErrnoRestorer errno_restorer;
- pid_t tid = reinterpret_cast<pthread_internal_t*>(t)->tid;
- if (tid == 0) return ESRCH;
+ pthread_internal_t* thread = __pthread_internal_find(t);
+ if (thread == NULL) {
+ return ESRCH;
+ }
- if (sched_getparam(tid, param) == -1) return errno;
-
- *policy = sched_getscheduler(tid);
+ int rc = sched_getparam(thread->tid, param);
+ if (rc == -1) {
+ return errno;
+ }
+ *policy = sched_getscheduler(thread->tid);
return 0;
}