summaryrefslogtreecommitdiff
path: root/indra/llcommon/llthread.cpp
diff options
context:
space:
mode:
authorMark Palange (Mani) <palange@lindenlab.com>2010-11-18 15:36:11 -0800
committerMark Palange (Mani) <palange@lindenlab.com>2010-11-18 15:36:11 -0800
commit6802775bc4952874e26f320e1ec7ce9f7ed2e2fb (patch)
treefb5b9b355214fe5ab949ff62ad5146d49557c2e0 /indra/llcommon/llthread.cpp
parent327a922dc9cda771077826ecf7521464ebd281c0 (diff)
parent0e52564f0a36365c2ce5f5263d15778394741fde (diff)
Merge with 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;
}
}