summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-22 00:37:23 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-22 00:44:52 +0300
commit0e0ba2fd866e6f6f3b89008dbe7d3a8e0c826ff5 (patch)
tree0ed859e8152e1f1737da48c557cf7d16df7b69c8 /indra
parentb856745048212175eac19536e40cf563b874f6b4 (diff)
SL-13830 One more coroutine crash
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoicevivox.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 42a1cf95a7..970570b135 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -411,6 +411,7 @@ void LLVivoxVoiceClient::terminate()
}
else
{
+ mRelogRequested = false;
killGateway();
}
}
@@ -660,12 +661,18 @@ void LLVivoxVoiceClient::voiceControlCoro()
U32 retry = 0;
- while (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE)
+ while (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE && !LLApp::isExiting())
{
LL_DEBUGS("Voice") << "Suspending voiceControlCoro() momentarily for teleport. Tuning: " << mTuningMode << ". Relog: " << mRelogRequested << LL_ENDL;
llcoro::suspendUntilTimeout(1.0);
}
+ if (LLApp::isExiting())
+ {
+ mIsCoroutineActive = false;
+ return;
+ }
+
do
{
bool success = startAndConnectSession();