diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-08-12 19:49:13 +0300 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-08-13 16:56:31 +0300 |
| commit | 655402192f9ef58650e6b6f9a01f5748747aa263 (patch) | |
| tree | 23121b715765202515a5d2e6e82daaa5a7999bda /indra/newview/llappviewer.cpp | |
| parent | 705d53b3e9065c766b63037d2209b9664c3d4d24 (diff) | |
#6119 Mutex deadlock on LLGridManager singleton
LLGridManager is performance critical and low level enough that it should
just be turned into LLSimpleton. Without capture_dependency there won't
be a 'deadlock'.
Diffstat (limited to 'indra/newview/llappviewer.cpp')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2d8e94fdda..d3df15a642 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2175,6 +2175,7 @@ bool LLAppViewer::cleanup() LLWorld::deleteSingleton(); LLVoiceClient::deleteSingleton(); LLUI::deleteSingleton(); + LLGridManager::deleteSingleton(); LLWatchdog::deleteSingleton(); // It's not at first obvious where, in this long sequence, a generic cleanup @@ -3009,6 +3010,8 @@ bool LLAppViewer::initConfiguration() } } + LLGridManager::createInstance(); + LLSLURL start_slurl; if (!starting_location.empty()) { @@ -3057,6 +3060,7 @@ bool LLAppViewer::initConfiguration() // Do not save settings. // Might be smarter to have an exit code for a more reliable // "early exit, needs cleanup" case. + LLGridManager::deleteSingleton(); LLSingletonBase::deleteAll(); cleanupConsole(); delete mSettingsLocationList; @@ -3117,6 +3121,7 @@ bool LLAppViewer::initConfiguration() // Since returning 'false' is basically an error without cleanup, // do cleanup here. No need to worry about marker files here. + LLGridManager::deleteSingleton(); LLSingletonBase::deleteAll(); cleanupConsole(); return false; |
