summaryrefslogtreecommitdiff
path: root/indra/llcommon/llthread.cpp
diff options
context:
space:
mode:
authorbrad kittenbrink <brad@lindenlab.com>2010-11-19 15:40:05 -0800
committerbrad kittenbrink <brad@lindenlab.com>2010-11-19 15:40:05 -0800
commitfd78866bcdf712aaefecfb74d7edaecb30c91b27 (patch)
tree235398d36401c68fc841389bb11984d94d36d7db /indra/llcommon/llthread.cpp
parent3337ef16cee97e26b45aa07518d34d031bdc75fa (diff)
parentb6edd74775e07ce392b0a1785cfc61338c890dad (diff)
Merged latest lindenlab/viewer-development with mani_linden/viewer-development
Diffstat (limited to 'indra/llcommon/llthread.cpp')
-rw-r--r--indra/llcommon/llthread.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp
index d7b7c3699c..148aaf8aed 100644
--- a/indra/llcommon/llthread.cpp
+++ b/indra/llcommon/llthread.cpp
@@ -147,16 +147,20 @@ void LLThread::shutdown()
{
// This thread just wouldn't stop, even though we gave it time
llwarns << "LLThread::~LLThread() exiting thread before clean exit!" << llendl;
+ // Put a stake in its heart.
+ apr_thread_exit(mAPRThreadp, -1);
return;
}
mAPRThreadp = NULL;
}
delete mRunCondition;
+ mRunCondition = 0;
- if (mIsLocalPool)
+ if (mIsLocalPool && mAPRPoolp)
{
apr_pool_destroy(mAPRPoolp);
+ mAPRPoolp = 0;
}
}