diff options
author | Monty Brandenberg <monty@lindenlab.com> | 2013-12-06 16:02:53 -0500 |
---|---|---|
committer | Monty Brandenberg <monty@lindenlab.com> | 2013-12-06 16:02:53 -0500 |
commit | ea1f6a6343fe83f1352a8a839265c471640acdce (patch) | |
tree | 191405e3370bb870b7ec527503d562d2040f72b5 /indra/newview/llmeshrepository.h | |
parent | da135de77dea24427f5e658ebac43b77c215cc9b (diff) |
SH-4645 Viewer hangs on exit after cancelling a mesh upload.
Problem involved a 3-way livelock between the main, upload
and decomposition threads. Viewer is shutting down but an
upload is in the 'generate hulls' state. Main thread asks
upload request to discard and spins waiting for it to finish.
Upload thread is in generateHulls spinning waiting for the
decomposition thread to process a mesh request. Decomposition
thread is sleeping waiting for main thread to deliver work
that upload thread has asked the decomposition thread to do.
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rwxr-xr-x | indra/newview/llmeshrepository.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index 9d8b102110..39280bea3a 100755 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -447,7 +447,7 @@ public: bool mUploadTextures; bool mUploadSkin; bool mUploadJoints; - BOOL mDiscarded; + volatile bool mDiscarded; LLHost mHost; std::string mWholeModelFeeCapability; @@ -463,7 +463,7 @@ public: virtual void run(); void preStart(); void discard() ; - BOOL isDiscarded() const; + bool isDiscarded() const; void generateHulls(); |