diff options
author | Richard Linden <none@none> | 2013-12-10 12:50:23 -0800 |
---|---|---|
committer | Richard Linden <none@none> | 2013-12-10 12:50:23 -0800 |
commit | d4f3fe3c5691348b72729ba57cef337c1dca0141 (patch) | |
tree | 0af459d66463e94d3c29b1ed22ddc7ff1dda7458 /indra/llcommon/llthread.cpp | |
parent | 8d5605e09f144e7879c34e6093b5c09c191f46a6 (diff) |
SH-4653 FIX Interesting: Viewer crashes while reading chat history
Diffstat (limited to 'indra/llcommon/llthread.cpp')
-rwxr-xr-x | indra/llcommon/llthread.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index cf105098ef..368a059182 100755 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -132,7 +132,7 @@ void *APR_THREAD_FUNC LLThread::staticRun(apr_thread_t *apr_threadp, void *datap #endif // for now, hard code all LLThreads to report to single master thread recorder, which is known to be running on main thread - LLTrace::ThreadRecorder thread_recorder(*LLTrace::get_master_thread_recorder()); + mRecorder = new LLTrace::ThreadRecorder(*LLTrace::get_master_thread_recorder()); #if !LL_DARWIN sThreadID = threadp->mID; @@ -222,6 +222,8 @@ void LLThread::shutdown() // This thread just wouldn't stop, even though we gave it time //LL_WARNS() << "LLThread::~LLThread() exiting thread before clean exit!" << LL_ENDL; // Put a stake in its heart. + delete mRecorder; + apr_thread_exit(mAPRThreadp, -1); return; } @@ -239,6 +241,8 @@ void LLThread::shutdown() apr_pool_destroy(mAPRPoolp); mAPRPoolp = 0; } + + delete mRecorder; } |