SL-15292 waitForChannel crash

meow-7.2.2
Andrey Kleshchev 2021-05-24 23:41:17 +03:00
parent 823f97ac59
commit 76ab0e2775
1 changed files with 8 additions and 3 deletions

View File

@ -1339,6 +1339,11 @@ void LLVivoxVoiceClient::logoutOfVivox(bool wait)
result = llcoro::suspendUntilEventOnWithTimeout(mVivoxPump, LOGOUT_ATTEMPT_TIMEOUT, timeoutResult);
if (sShuttingDown)
{
break;
}
LL_DEBUGS("Voice") << "event=" << ll_stream_notation_sd(result) << LL_ENDL;
// Don't get confused by prior queued events -- note that it's
// very important that mVivoxPump is an LLEventMailDrop, which
@ -1772,7 +1777,7 @@ bool LLVivoxVoiceClient::waitForChannel()
if (sShuttingDown)
{
logoutOfVivox(true);
logoutOfVivox(false);
return false;
}
@ -1864,9 +1869,9 @@ bool LLVivoxVoiceClient::waitForChannel()
mIsProcessingChannels = false;
logoutOfVivox(true);
logoutOfVivox(!sShuttingDown /*bool wait*/);
if (mRelogRequested)
if (mRelogRequested && !sShuttingDown)
{
LL_DEBUGS("Voice") << "Relog Requested, restarting provisioning" << LL_ENDL;
if (!provisionVoiceAccount())