summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-05-18 22:25:52 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-05-18 22:25:52 +0300
commit61e979e634c81fb8b5900d7b0c72183935226dc8 (patch)
treee49d4f314332368a15322a7dcd6584a4fed31c98 /indra
parent3e72ded0442f26910ee574ebb38cec43d3d9b9bd (diff)
SL-12491 semwait_signal crash
Superficially it looks like mac tried to resume ms_sleep after class got destroyed by regular cleanup.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llappviewer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 335c414015..6836ec7479 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1516,8 +1516,10 @@ bool LLAppViewer::doFrame()
}
// yield cooperatively when not running as foreground window
- if ( (gViewerWindow && !gViewerWindow->getWindow()->getVisible())
- || !gFocusMgr.getAppHasFocus())
+ // and when not quiting (causes trouble at mac's cleanup stage)
+ if (!LLApp::isExiting()
+ && ((gViewerWindow && !gViewerWindow->getWindow()->getVisible())
+ || !gFocusMgr.getAppHasFocus()))
{
// Sleep if we're not rendering, or the window is minimized.
static LLCachedControl<S32> s_bacground_yeild_time(gSavedSettings, "BackgroundYieldTime", 40);