From 43761beb47264b7bfcfa4af1a8546dc7e43ce8c7 Mon Sep 17 00:00:00 2001 From: "pwestin@webrtc.org" Date: Thu, 22 Dec 2011 09:40:28 +0000 Subject: [PATCH] Bugfix get thread ID for linux. Review URL: http://webrtc-codereview.appspot.com/331015 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1282 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/system_wrappers/source/trace_posix.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/system_wrappers/source/trace_posix.cc b/src/system_wrappers/source/trace_posix.cc index 9bdd346f09..7e097d80ff 100644 --- a/src/system_wrappers/source/trace_posix.cc +++ b/src/system_wrappers/source/trace_posix.cc @@ -15,7 +15,9 @@ #include #include #include - +#ifdef __linux__ + #include +#endif #ifdef WEBRTC_ANDROID #include #else @@ -48,13 +50,17 @@ TracePosix::~TracePosix() StopThread(); } -WebRtc_Word32 TracePosix::AddThreadId(char* traceMessage) const -{ - WebRtc_UWord64 threadId = (WebRtc_UWord64)pthread_self(); - sprintf(traceMessage, "%10llu; ", - static_cast(threadId)); - // 12 bytes are written. - return 12; +WebRtc_Word32 TracePosix::AddThreadId(char* traceMessage) const { +#ifdef __linux__ + pid_t threadId = (pid_t) syscall(SYS_gettid); + sprintf(traceMessage, "%10d; ", threadId); +#else + WebRtc_UWord64 threadId = (WebRtc_UWord64)pthread_self(); + sprintf(traceMessage, "%10llu; ", + static_cast(threadId)); +#endif + // 12 bytes are written. + return 12; } WebRtc_Word32 TracePosix::AddTime(char* traceMessage,