summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-04-30 12:52:21 -0700
committerDan Albert <danalbert@google.com>2015-04-30 12:52:21 -0700
commit23f750b068ddf5b20fb5d153a798b22562368992 (patch)
tree1815f09fca3ea5e55c4e9333f5cce65197ea6aea
parentdc999df939821777ea7b61952264ef2c9e6b44fd (diff)
downloadsystem_core-23f750b068ddf5b20fb5d153a798b22562368992.tar.gz
system_core-23f750b068ddf5b20fb5d153a798b22562368992.tar.bz2
system_core-23f750b068ddf5b20fb5d153a798b22562368992.zip
Remove libbacktrace definition of gettid.
Also simplifies the Darwin implementation of gettid, because apparently libbacktrace had a better way of doing it. Change-Id: I9e14f9176b167405a5aaa5b8a0db0327c7126271
-rw-r--r--libbacktrace/Backtrace.cpp2
-rw-r--r--libbacktrace/BacktraceCurrent.cpp2
-rw-r--r--libbacktrace/backtrace_test.cpp17
-rw-r--r--libbacktrace/thread_utils.c17
-rw-r--r--libbacktrace/thread_utils.h2
-rw-r--r--libcutils/threads.c7
6 files changed, 16 insertions, 31 deletions
diff --git a/libbacktrace/Backtrace.cpp b/libbacktrace/Backtrace.cpp
index 91ca8b7e5..b2d82976d 100644
--- a/libbacktrace/Backtrace.cpp
+++ b/libbacktrace/Backtrace.cpp
@@ -27,6 +27,8 @@
#include <backtrace/Backtrace.h>
#include <backtrace/BacktraceMap.h>
+#include <cutils/threads.h>
+
#include "BacktraceLog.h"
#include "thread_utils.h"
#include "UnwindCurrent.h"
diff --git a/libbacktrace/BacktraceCurrent.cpp b/libbacktrace/BacktraceCurrent.cpp
index fd1f4da7b..14f04de5e 100644
--- a/libbacktrace/BacktraceCurrent.cpp
+++ b/libbacktrace/BacktraceCurrent.cpp
@@ -29,6 +29,8 @@
#include <backtrace/Backtrace.h>
#include <backtrace/BacktraceMap.h>
+#include <cutils/threads.h>
+
#include "BacktraceCurrent.h"
#include "BacktraceLog.h"
#include "ThreadEntry.h"
diff --git a/libbacktrace/backtrace_test.cpp b/libbacktrace/backtrace_test.cpp
index 4af65923e..36c73c5db 100644
--- a/libbacktrace/backtrace_test.cpp
+++ b/libbacktrace/backtrace_test.cpp
@@ -30,20 +30,21 @@
#include <time.h>
#include <unistd.h>
+#include <algorithm>
+#include <memory>
+#include <string>
+#include <vector>
+
#include <backtrace/Backtrace.h>
#include <backtrace/BacktraceMap.h>
-// For the THREAD_SIGNAL definition.
-#include "BacktraceCurrent.h"
-
#include <cutils/atomic.h>
-#include <gtest/gtest.h>
+#include <cutils/threads.h>
-#include <algorithm>
-#include <memory>
-#include <string>
-#include <vector>
+#include <gtest/gtest.h>
+// For the THREAD_SIGNAL definition.
+#include "BacktraceCurrent.h"
#include "thread_utils.h"
// Number of microseconds per milliseconds.
diff --git a/libbacktrace/thread_utils.c b/libbacktrace/thread_utils.c
index 6f4cd3c44..e75f56e39 100644
--- a/libbacktrace/thread_utils.c
+++ b/libbacktrace/thread_utils.c
@@ -16,25 +16,12 @@
#include "thread_utils.h"
-#if defined(__APPLE__)
+#if !defined(__BIONIC__)
-#include <sys/syscall.h>
-
-// Mac OS >= 10.6 has a system call equivalent to Linux's gettid().
-pid_t gettid() {
- return syscall(SYS_thread_selfid);
-}
-
-#elif !defined(__BIONIC__)
-
-// glibc doesn't implement or export either gettid or tgkill.
+// glibc doesn't implement or export tgkill.
#include <unistd.h>
#include <sys/syscall.h>
-pid_t gettid() {
- return syscall(__NR_gettid);
-}
-
int tgkill(int tgid, int tid, int sig) {
return syscall(__NR_tgkill, tgid, tid, sig);
}
diff --git a/libbacktrace/thread_utils.h b/libbacktrace/thread_utils.h
index ae4c92904..df83581f1 100644
--- a/libbacktrace/thread_utils.h
+++ b/libbacktrace/thread_utils.h
@@ -23,8 +23,6 @@ __BEGIN_DECLS
int tgkill(int tgid, int tid, int sig);
-pid_t gettid();
-
__END_DECLS
#endif /* _LIBBACKTRACE_THREAD_UTILS_H */
diff --git a/libcutils/threads.c b/libcutils/threads.c
index 3d8dd4848..036f8c5b7 100644
--- a/libcutils/threads.c
+++ b/libcutils/threads.c
@@ -35,12 +35,7 @@
#ifndef __ANDROID__
pid_t gettid() {
#if defined(__APPLE__)
- uint64_t owner;
- int rc = pthread_threadid_np(NULL, &owner);
- if (rc != 0) {
- abort();
- }
- return owner;
+ return syscall(SYS_thread_selfid);
#elif defined(__linux__)
return syscall(__NR_gettid);
#elif defined(_WIN32)