summaryrefslogtreecommitdiff
path: root/indra/llcommon/llapp.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2021-11-16 01:24:03 +0200
committerAndrey Lihatskiy <alihatskiy@productengine.com>2021-11-16 01:24:03 +0200
commitab4d4a4817a3c885e5a21bf1d89119dd5bc37c4f (patch)
tree6fa087eecf4ebd2fb984b3ecb54fd3286c762478 /indra/llcommon/llapp.cpp
parent0505c6ebbb9060d215f61884d06f22d64d2aaf6d (diff)
parent0bffd3d365023fea504b1070480e7b2f72080129 (diff)
Merge branch 'DRTVWR-519' into DRTVWR-552-cache-360
# Conflicts: # indra/newview/app_settings/settings.xml
Diffstat (limited to 'indra/llcommon/llapp.cpp')
-rw-r--r--indra/llcommon/llapp.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp
index df2a066f62..8ddd132793 100644
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -106,7 +106,8 @@ BOOL LLApp::sDisableCrashlogger = FALSE;
BOOL LLApp::sLogInSignal = FALSE;
// static
-LLApp::EAppStatus LLApp::sStatus = LLApp::APP_STATUS_STOPPED; // Keeps track of application status
+// Keeps track of application status
+LLScalarCond<LLApp::EAppStatus> LLApp::sStatus{LLApp::APP_STATUS_STOPPED};
LLAppErrorHandler LLApp::sErrorHandler = NULL;
BOOL LLApp::sErrorThreadRunning = FALSE;
@@ -452,7 +453,8 @@ static std::map<LLApp::EAppStatus, const char*> statusDesc
// static
void LLApp::setStatus(EAppStatus status)
{
- sStatus = status;
+ // notify everyone waiting on sStatus any time its value changes
+ sStatus.set_all(status);
// This can also happen very late in the application lifecycle -- don't
// resurrect a deleted LLSingleton
@@ -514,28 +516,28 @@ void LLApp::setStopped()
// static
bool LLApp::isStopped()
{
- return (APP_STATUS_STOPPED == sStatus);
+ return (APP_STATUS_STOPPED == sStatus.get());
}
// static
bool LLApp::isRunning()
{
- return (APP_STATUS_RUNNING == sStatus);
+ return (APP_STATUS_RUNNING == sStatus.get());
}
// static
bool LLApp::isError()
{
- return (APP_STATUS_ERROR == sStatus);
+ return (APP_STATUS_ERROR == sStatus.get());
}
// static
bool LLApp::isQuitting()
{
- return (APP_STATUS_QUITTING == sStatus);
+ return (APP_STATUS_QUITTING == sStatus.get());
}
// static