"README.md" did not exist on "9bb2bc6099c37a1d3efb4f1400a1a42750f85bac"
SH-4411 Thread/mutex rework between main and worker thread
Have the ::notifyLoadedMeshes() method doing correct locking and stall avoidance at the same time. This method now does lazy mutex lock acquisition (trylock()) and if it fails on either, it gives up and comes back later. Capture the maximum number of sequential failures and report this at the end of the run in the log. (So far, with big mesh regions, I've only seen 1s and 2s.) Locking/mutex requirements sorted in other locations as well. LLMutex gets trylock() method as well as new LLMutexTrylock scoped locking class. Clean up some documentation, more to do.
Showing
- indra/llcommon/llthread.cpp 31 additions, 1 deletionindra/llcommon/llthread.cpp
- indra/llcommon/llthread.h 44 additions, 2 deletionsindra/llcommon/llthread.h
- indra/newview/llmeshrepository.cpp 174 additions, 118 deletionsindra/newview/llmeshrepository.cpp
- indra/newview/llmeshrepository.h 8 additions, 9 deletionsindra/newview/llmeshrepository.h
Loading
Please register or sign in to comment