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_setname_np.cpp b/libc/bionic/pthread_setname_np.cpp
index 0778a3c..6d2880e 100644
--- a/libc/bionic/pthread_setname_np.cpp
+++ b/libc/bionic/pthread_setname_np.cpp
@@ -43,9 +43,14 @@
#define MAX_TASK_COMM_LEN 16
static int __open_task_comm_fd(pthread_t t, int flags) {
+ pthread_internal_t* thread = __pthread_internal_find(t);
+ if (thread == nullptr) {
+ errno = ENOENT;
+ return -1;
+ }
+
char comm_name[64];
- snprintf(comm_name, sizeof(comm_name), "/proc/self/task/%d/comm",
- reinterpret_cast<pthread_internal_t*>(t)->tid);
+ snprintf(comm_name, sizeof(comm_name), "/proc/self/task/%d/comm", thread->tid);
return open(comm_name, O_CLOEXEC | flags);
}