diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-07-19 10:47:11 +0300 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-07-20 20:32:48 +0300 |
| commit | ce21ab1950b685b84ba0651d51cc4c200763860c (patch) | |
| tree | 86b4226dc4163ec01a55a00ca8d56be784a00cc6 /indra/newview/llappviewer.cpp | |
| parent | 331c3c758a114d23950ab23bb94ee19e85e662dd (diff) | |
#6014 Reduce shutdown delays on thread cleanup
Diffstat (limited to 'indra/newview/llappviewer.cpp')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e2bd8798f4..553517472e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1750,6 +1750,14 @@ bool LLAppViewer::cleanup() LLPluginProcessParent::shutdown(); disconnectViewer(); + + if (LLWatchdog::instanceExists()) + { + // Signal a stop early, so that it will be out + // of sleep loop by the time we get to clean it. + LLWatchdog::getInstance()->shutdown(); + } + LLViewerCamera::deleteSingleton(); LL_INFOS() << "Viewer disconnected" << LL_ENDL; @@ -2079,7 +2087,7 @@ bool LLAppViewer::cleanup() if (sTextureFetch) { sTextureFetch->shutdown(); - sTextureFetch->waitOnPending(); + sTextureFetch->waitOnPending(10.f); delete sTextureFetch; sTextureFetch = NULL; } @@ -2124,7 +2132,10 @@ bool LLAppViewer::cleanup() gSavedSettings.cleanup(); LLUIColorTable::instance().clear(); - LLWatchdog::getInstance()->cleanup(); + if (LLWatchdog::instanceExists()) + { + LLWatchdog::getInstance()->cleanup(); + } LLViewerAssetStatsFF::cleanup(); |
