summaryrefslogtreecommitdiff
path: root/indra/llcommon/llthread.cpp
diff options
context:
space:
mode:
authorAndrew Meadows <andrew@lindenlab.com>2010-12-10 10:40:38 -0800
committerAndrew Meadows <andrew@lindenlab.com>2010-12-10 10:40:38 -0800
commite040f16a4f2e50592a125a04185fd9f06ac49522 (patch)
tree60a0e7fee37761a9278db6ab2b32f61fc38acbe1 /indra/llcommon/llthread.cpp
parentc320b2cef916cc8f0e42f041c29c04bf55d40d77 (diff)
parent02701073ce70fc2e2043adf0ed7e0d6879669215 (diff)
merge
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;
}
}