Loading base/Android.mk +4 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ LOCAL_SRC_FILES := $(libbase_src_files) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CPPFLAGS := $(libbase_cppflags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_STATIC_LIBRARY) Loading @@ -53,6 +54,7 @@ LOCAL_CLANG := true LOCAL_WHOLE_STATIC_LIBRARIES := libbase LOCAL_SHARED_LIBRARIES := liblog LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_SHARED_LIBRARY) Loading @@ -64,6 +66,7 @@ LOCAL_SRC_FILES := $(libbase_src_files) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CPPFLAGS := $(libbase_cppflags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_HOST_STATIC_LIBRARY) Loading @@ -72,6 +75,7 @@ LOCAL_MODULE := libbase LOCAL_WHOLE_STATIC_LIBRARIES := libbase LOCAL_SHARED_LIBRARIES := liblog LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_HOST_SHARED_LIBRARY) Loading base/logging.cpp +2 −23 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <vector> #include "base/strings.h" #include "cutils/threads.h" // Headers for LogMessage::LogLine. #ifdef __ANDROID__ Loading @@ -33,15 +34,6 @@ #include <unistd.h> #endif // For GetTid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED #include <sys/syscall.h> #include <sys/time.h> #elif !defined(__BIONIC__) #include <syscall.h> #endif namespace android { namespace base { Loading @@ -52,19 +44,6 @@ static std::unique_ptr<std::string> gCmdLine; static std::unique_ptr<std::string> gProgramInvocationName; static std::unique_ptr<std::string> gProgramInvocationShortName; #ifndef __ANDROID__ static pid_t GetTid() { #if defined(__APPLE__) uint64_t owner; // Requires Mac OS 10.6 CHECK_PTHREAD_CALL(pthread_threadid_np, (NULL, &owner), __FUNCTION__); return owner; #else return syscall(__NR_gettid); #endif } #endif // __ANDROID__ const char* GetCmdLine() { return (gCmdLine.get() != nullptr) ? gCmdLine->c_str() : nullptr; } Loading Loading @@ -261,7 +240,7 @@ void LogMessage::LogLine(const char* file, unsigned int line, CHECK_EQ(strlen(log_characters), FATAL + 1U); char severity = log_characters[log_severity]; fprintf(stderr, "%s %c %5d %5d %s:%u] %s\n", ProgramInvocationShortName(), severity, getpid(), GetTid(), file, line, message); severity, getpid(), gettid(), file, line, message); #endif } Loading include/cutils/threads.h +2 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,10 @@ typedef struct { pthread_mutex_t lock; int has_tls; pthread_key_t tls; } thread_store_t; extern pid_t gettid(); #define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 } #else // !defined(_WIN32) Loading @@ -51,7 +52,6 @@ typedef struct { int has_tls; DWORD tls; CRITICAL_SECTION lock; } thread_store_t; #define THREAD_STORE_INITIALIZER { 0, 0, 0, {0, 0, 0, 0, 0, 0} } Loading libcutils/threads.c +30 −1 Original line number Diff line number Diff line Loading @@ -14,9 +14,23 @@ ** limitations under the License. */ #include <cutils/threads.h> #include "cutils/threads.h" #if !defined(_WIN32) // For gettid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED #include <sys/syscall.h> #include <sys/time.h> #include "base/logging.h" #elif defined(__linux__) && !defined(__ANDROID__) #include <syscall.h> #include <unistd.h> #elif defined(_WIN32) #include <Windows.h> #endif void* thread_store_get( thread_store_t* store ) { if (!store->has_tls) Loading @@ -42,6 +56,21 @@ 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; CHECK_PTHREAD_CALL(pthread_threadid_np, (NULL, &owner), __FUNCTION__); 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
base/Android.mk +4 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ LOCAL_SRC_FILES := $(libbase_src_files) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CPPFLAGS := $(libbase_cppflags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_STATIC_LIBRARY) Loading @@ -53,6 +54,7 @@ LOCAL_CLANG := true LOCAL_WHOLE_STATIC_LIBRARIES := libbase LOCAL_SHARED_LIBRARIES := liblog LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_SHARED_LIBRARY) Loading @@ -64,6 +66,7 @@ LOCAL_SRC_FILES := $(libbase_src_files) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CPPFLAGS := $(libbase_cppflags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_HOST_STATIC_LIBRARY) Loading @@ -72,6 +75,7 @@ LOCAL_MODULE := libbase LOCAL_WHOLE_STATIC_LIBRARIES := libbase LOCAL_SHARED_LIBRARIES := liblog LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_HOST_SHARED_LIBRARY) Loading
base/logging.cpp +2 −23 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <vector> #include "base/strings.h" #include "cutils/threads.h" // Headers for LogMessage::LogLine. #ifdef __ANDROID__ Loading @@ -33,15 +34,6 @@ #include <unistd.h> #endif // For GetTid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED #include <sys/syscall.h> #include <sys/time.h> #elif !defined(__BIONIC__) #include <syscall.h> #endif namespace android { namespace base { Loading @@ -52,19 +44,6 @@ static std::unique_ptr<std::string> gCmdLine; static std::unique_ptr<std::string> gProgramInvocationName; static std::unique_ptr<std::string> gProgramInvocationShortName; #ifndef __ANDROID__ static pid_t GetTid() { #if defined(__APPLE__) uint64_t owner; // Requires Mac OS 10.6 CHECK_PTHREAD_CALL(pthread_threadid_np, (NULL, &owner), __FUNCTION__); return owner; #else return syscall(__NR_gettid); #endif } #endif // __ANDROID__ const char* GetCmdLine() { return (gCmdLine.get() != nullptr) ? gCmdLine->c_str() : nullptr; } Loading Loading @@ -261,7 +240,7 @@ void LogMessage::LogLine(const char* file, unsigned int line, CHECK_EQ(strlen(log_characters), FATAL + 1U); char severity = log_characters[log_severity]; fprintf(stderr, "%s %c %5d %5d %s:%u] %s\n", ProgramInvocationShortName(), severity, getpid(), GetTid(), file, line, message); severity, getpid(), gettid(), file, line, message); #endif } Loading
include/cutils/threads.h +2 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,10 @@ typedef struct { pthread_mutex_t lock; int has_tls; pthread_key_t tls; } thread_store_t; extern pid_t gettid(); #define THREAD_STORE_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0 } #else // !defined(_WIN32) Loading @@ -51,7 +52,6 @@ typedef struct { int has_tls; DWORD tls; CRITICAL_SECTION lock; } thread_store_t; #define THREAD_STORE_INITIALIZER { 0, 0, 0, {0, 0, 0, 0, 0, 0} } Loading
libcutils/threads.c +30 −1 Original line number Diff line number Diff line Loading @@ -14,9 +14,23 @@ ** limitations under the License. */ #include <cutils/threads.h> #include "cutils/threads.h" #if !defined(_WIN32) // For gettid. #if defined(__APPLE__) #include "AvailabilityMacros.h" // For MAC_OS_X_VERSION_MAX_ALLOWED #include <sys/syscall.h> #include <sys/time.h> #include "base/logging.h" #elif defined(__linux__) && !defined(__ANDROID__) #include <syscall.h> #include <unistd.h> #elif defined(_WIN32) #include <Windows.h> #endif void* thread_store_get( thread_store_t* store ) { if (!store->has_tls) Loading @@ -42,6 +56,21 @@ 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; CHECK_PTHREAD_CALL(pthread_threadid_np, (NULL, &owner), __FUNCTION__); 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