Loading include/cutils/threads.h +10 −7 Original line number Diff line number Diff line Loading @@ -17,6 +17,14 @@ #ifndef _LIBS_CUTILS_THREADS_H #define _LIBS_CUTILS_THREADS_H #include <sys/types.h> #if !defined(_WIN32) #include <pthread.h> #else #include <windows.h> #endif #ifdef __cplusplus extern "C" { #endif Loading @@ -29,10 +37,9 @@ extern "C" { /***********************************************************************/ /***********************************************************************/ #if !defined(_WIN32) extern pid_t gettid(); #include <pthread.h> #include <sys/types.h> #if !defined(_WIN32) typedef struct { pthread_mutex_t lock; Loading @@ -40,14 +47,10 @@ typedef struct { pthread_key_t tls; } thread_store_t; extern pid_t gettid(); #define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 } #else // !defined(_WIN32) #include <windows.h> typedef struct { int lock_init; int has_tls; Loading libcutils/threads.c +21 −21 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ #include "cutils/threads.h" #if !defined(_WIN32) // For gettid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED Loading @@ -30,9 +28,29 @@ #include <syscall.h> #include <unistd.h> #elif defined(_WIN32) #include <Windows.h> #include <windows.h> #endif // No definition needed for Android because we'll just pick up bionic's copy. #ifndef __ANDROID__ pid_t gettid() { #if defined(__APPLE__) uint64_t owner; int rc = pthread_threadid_np(NULL, &owner); if (rc != 0) { abort(); } return owner; #elif defined(__linux__) return syscall(__NR_gettid); #elif defined(_WIN32) return GetCurrentThreadId(); #endif } #endif // __ANDROID__ #if !defined(_WIN32) void* thread_store_get( thread_store_t* store ) { if (!store->has_tls) Loading @@ -58,24 +76,6 @@ extern void thread_store_set( thread_store_t* store, pthread_setspecific( store->tls, value ); } // No definition needed for Android because we'll just pick up bionic's copy. #ifndef __ANDROID__ pid_t gettid() { #if defined(__APPLE__) uint64_t owner; int rc = pthread_threadid_np(NULL, &owner); if (rc != 0) { abort(); } return owner; #elif defined(__linux__) return syscall(__NR_gettid); #elif defined(_WIN32) return (pid_t)GetCurrentThreadId(); #endif } #endif // __ANDROID__ #else /* !defined(_WIN32) */ void* thread_store_get( thread_store_t* store ) { Loading Loading
include/cutils/threads.h +10 −7 Original line number Diff line number Diff line Loading @@ -17,6 +17,14 @@ #ifndef _LIBS_CUTILS_THREADS_H #define _LIBS_CUTILS_THREADS_H #include <sys/types.h> #if !defined(_WIN32) #include <pthread.h> #else #include <windows.h> #endif #ifdef __cplusplus extern "C" { #endif Loading @@ -29,10 +37,9 @@ extern "C" { /***********************************************************************/ /***********************************************************************/ #if !defined(_WIN32) extern pid_t gettid(); #include <pthread.h> #include <sys/types.h> #if !defined(_WIN32) typedef struct { pthread_mutex_t lock; Loading @@ -40,14 +47,10 @@ typedef struct { pthread_key_t tls; } thread_store_t; extern pid_t gettid(); #define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 } #else // !defined(_WIN32) #include <windows.h> typedef struct { int lock_init; int has_tls; Loading
libcutils/threads.c +21 −21 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ #include "cutils/threads.h" #if !defined(_WIN32) // For gettid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED Loading @@ -30,9 +28,29 @@ #include <syscall.h> #include <unistd.h> #elif defined(_WIN32) #include <Windows.h> #include <windows.h> #endif // No definition needed for Android because we'll just pick up bionic's copy. #ifndef __ANDROID__ pid_t gettid() { #if defined(__APPLE__) uint64_t owner; int rc = pthread_threadid_np(NULL, &owner); if (rc != 0) { abort(); } return owner; #elif defined(__linux__) return syscall(__NR_gettid); #elif defined(_WIN32) return GetCurrentThreadId(); #endif } #endif // __ANDROID__ #if !defined(_WIN32) void* thread_store_get( thread_store_t* store ) { if (!store->has_tls) Loading @@ -58,24 +76,6 @@ extern void thread_store_set( thread_store_t* store, pthread_setspecific( store->tls, value ); } // No definition needed for Android because we'll just pick up bionic's copy. #ifndef __ANDROID__ pid_t gettid() { #if defined(__APPLE__) uint64_t owner; int rc = pthread_threadid_np(NULL, &owner); if (rc != 0) { abort(); } return owner; #elif defined(__linux__) return syscall(__NR_gettid); #elif defined(_WIN32) return (pid_t)GetCurrentThreadId(); #endif } #endif // __ANDROID__ #else /* !defined(_WIN32) */ void* thread_store_get( thread_store_t* store ) { Loading