From 5a6983734572c6a72aa1af1fce8f2993e6e8c107 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 4 Feb 2013 12:23:33 -0600 Subject: MAINT-2323 Fix for crash on shutodwn in mesh responder destructors --- indra/newview/llmeshrepository.cpp | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 09003e3e53..1223615079 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -215,17 +215,19 @@ public: ~LLMeshHeaderResponder() { - if (!mProcessed && !LLApp::isQuitting()) - { //something went wrong, retry - llwarns << "Timeout or service unavailable, retrying." << llendl; - LLMeshRepository::sHTTPRetryCount++; - LLMeshRepoThread::HeaderRequest req(mMeshParams); - LLMutexLock lock(gMeshRepo.mThread->mMutex); - gMeshRepo.mThread->mHeaderReqQ.push(req); + if (!LLApp::isQuitting()) + { + if (!mProcessed) + { //something went wrong, retry + llwarns << "Timeout or service unavailable, retrying." << llendl; + LLMeshRepository::sHTTPRetryCount++; + LLMeshRepoThread::HeaderRequest req(mMeshParams); + LLMutexLock lock(gMeshRepo.mThread->mMutex); + gMeshRepo.mThread->mHeaderReqQ.push(req); + } + LLMeshRepoThread::decActiveHeaderRequests(); } - - LLMeshRepoThread::decActiveHeaderRequests(); } virtual void completedRaw(U32 status, const std::string& reason, @@ -252,13 +254,16 @@ public: ~LLMeshLODResponder() { - if (!mProcessed && !LLApp::isQuitting()) + if (!LLApp::isQuitting()) { - llwarns << "Killed without being processed, retrying." << llendl; - LLMeshRepository::sHTTPRetryCount++; - gMeshRepo.mThread->lockAndLoadMeshLOD(mMeshParams, mLOD); + if (!mProcessed) + { + llwarns << "Killed without being processed, retrying." << llendl; + LLMeshRepository::sHTTPRetryCount++; + gMeshRepo.mThread->lockAndLoadMeshLOD(mMeshParams, mLOD); + } + LLMeshRepoThread::decActiveLODRequests(); } - LLMeshRepoThread::decActiveLODRequests(); } virtual void completedRaw(U32 status, const std::string& reason, -- cgit v1.2.3 From d96c3220f8209312efdfa3d0ea0da4ad7d5c788d Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 5 Feb 2013 12:32:14 -0500 Subject: tag merge of DRTVWR-297 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d220aa6855..fa37d6a8a9 100644 --- a/.hgtags +++ b/.hgtags @@ -412,3 +412,4 @@ a676b4d6c037b39fe5b8e42cf8839a9303936089 DRTVWR-289 28fa8b944a0c1869636ab00cc400f5aa71f6fa3c DRTVWR-290 7f09bbc28c297f14b67961be7b6575445fa160e8 DRTVWR-291 b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 +0a5d409161ef2a89b28c9a741051dd2dedc707d6 DRTVWR-297 -- cgit v1.2.3