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,