diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2012-01-20 11:55:15 -0700 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2012-01-20 11:55:15 -0700 |
commit | 9e6a5d721193f181c39e58fe00073bece74b081a (patch) | |
tree | bcc8aa49ccf5e8b0ce528a888a46efaabf4d263b /indra/llcommon/llthread.cpp | |
parent | 25c21c3761d871fa7927e2a5656ed18100084454 (diff) |
fix for SH-2823 and SH-2824: LLCurl crash inside LLBufferArray::countAfter() and LLBufferArray::copyIntoBuffers
Diffstat (limited to 'indra/llcommon/llthread.cpp')
-rw-r--r-- | indra/llcommon/llthread.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index 4063cc730b..a6ad6b125c 100644 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -337,11 +337,7 @@ LLMutex::~LLMutex() void LLMutex::lock() { -#if LL_DARWIN - if (mLockingThread == LLThread::currentID()) -#else - if (mLockingThread == sThreadID) -#endif + if(isSelfLocked()) { //redundant lock mCount++; return; @@ -398,6 +394,15 @@ bool LLMutex::isLocked() } } +bool LLMutex::isSelfLocked() +{ +#if LL_DARWIN + return mLockingThread == LLThread::currentID(); +#else + return mLockingThread == sThreadID; +#endif +} + U32 LLMutex::lockingThread() const { return mLockingThread; |