From 6bbcdc421d5614038a1dc8c5645c334372762087 Mon Sep 17 00:00:00 2001 From: Charles Briere Date: Sun, 1 Dec 2013 18:00:49 -0800 Subject: [PATCH] Cleanup: Android: Do not redefine gettid When compiling with Android Toolchain, gettid is already defined in and therefore doesn't need to be reimplemented. This patch checks for gettid instead of looking for Android in case other environements behave the same way. Signed-off-by: Charles Briere Signed-off-by: Mathieu Desnoyers --- configure.ac | 2 +- tests/common/thread-id.h | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index b25685c..38e39e1 100644 --- a/configure.ac +++ b/configure.ac @@ -56,7 +56,7 @@ AC_TYPE_SIZE_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MMAP -AC_CHECK_FUNCS([bzero gettimeofday munmap sched_getcpu strtoul sysconf]) +AC_CHECK_FUNCS([bzero gettimeofday munmap sched_getcpu strtoul sysconf gettid]) # Find arch type AS_CASE([$host_cpu], diff --git a/tests/common/thread-id.h b/tests/common/thread-id.h index 7261333..04db5bb 100644 --- a/tests/common/thread-id.h +++ b/tests/common/thread-id.h @@ -17,10 +17,18 @@ * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. */ +#include + #ifdef __linux__ # include -# if defined(_syscall0) +# if defined(HAVE_GETTID) +/* + * Do not redefine gettid() as it is already included + * in bionic through . Some other libc + * may also already contain an implementation of gettid. + */ +# elif defined(_syscall0) _syscall0(pid_t, gettid) # elif defined(__NR_gettid) static inline pid_t gettid(void) @@ -42,11 +50,6 @@ unsigned long urcu_get_thread_id(void) { return (unsigned long) pthread_getthreadid_np(); } -#elif defined(__Android__) -/* - * Do not redefine gettid() as it is already included - * in bionic through . - */ #else # warning "use pid as thread ID" static inline -- 2.34.1