SH-3406 WIP convert fast timers to lltrace system

changed thread id declaration to be local to llthread.cpp and use
currentID() uniformly across platforms
master
Richard Linden 2012-12-05 14:22:18 -08:00
parent 6c7825107f
commit 68967e7b2b
3 changed files with 8 additions and 17 deletions

View File

@ -83,11 +83,7 @@ void LLMutex::lock()
mIsLocked[id] = TRUE;
#endif
#if LL_DARWIN
mLockingThread = LLThread::currentID();
#else
mLockingThread = LLThread::sThreadID;
#endif
}
void LLMutex::unlock()
@ -126,11 +122,7 @@ bool LLMutex::isLocked()
bool LLMutex::isSelfLocked()
{
#if LL_DARWIN
return mLockingThread == LLThread::currentID();
#else
return mLockingThread == LLThread::sThreadID;
#endif
}
U32 LLMutex::lockingThread() const

View File

@ -62,9 +62,9 @@
#if LL_DARWIN
// statically allocated thread local storage not supported in Darwin executable formats
#elif LL_WINDOWS
U32 __declspec(thread) LLThread::sThreadID = 0;
U32 __declspec(thread) sThreadID = 0;
#elif LL_LINUX
U32 __thread LLThread::sThreadID = 0;
U32 __thread sThreadID = 0;
#endif
U32 LLThread::sIDIter = 0;
@ -294,7 +294,13 @@ void LLThread::setQuitting()
// static
U32 LLThread::currentID()
{
#if LL_DARWIN
// statically allocated thread local storage not supported in Darwin executable formats
return (U32)apr_os_thread_current();
#else
return sThreadID;
#endif
}
// static

View File

@ -39,13 +39,6 @@ class LL_COMMON_API LLThread
private:
friend class LLMutex;
static U32 sIDIter;
#if LL_DARWIN
// statically allocated thread local storage not supported in Darwin executable formats
#elif LL_WINDOWS
static U32 __declspec(thread) LLThread::sThreadID;
#elif LL_LINUX
static U32 __thread LLThread::sThreadID ;
#endif
public:
typedef enum e_thread_status