diff options
author | Rider Linden <rider@lindenlab.com> | 2016-04-19 14:10:57 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2016-04-19 14:10:57 -0700 |
commit | 86a3e1a3dc59c964d78c509e99a59d52eea32b34 (patch) | |
tree | 7a01c4546b020ebdc49a3007244529d017bd1ac6 /indra | |
parent | e7f03a77bfe4173cd33b5242eb27aa9469c4702c (diff) |
MAINT-6336: Crasher on disconnect in DDoS.
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/newview/llvoicevivox.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index e015d4fa5e..518b5bdc65 100755 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1223,15 +1223,14 @@ bool LLVivoxVoiceClient::addAndJoinSession(const sessionStatePtr_t &nextSession) LLSD timeoutResult; timeoutResult["session"] = LLSD::String("timeout"); - LLEventTimeout voicePumpTimeout(voicePump); - - // It appears that I need to wait for BOTH the SessionGroup.AddSession response and the SessionStateChangeEvent with state 4 // before continuing from this state. They can happen in either order, and if I don't wait for both, things can get stuck. // For now, the SessionGroup.AddSession response handler sets mSessionHandle and the SessionStateChangeEvent handler transitions to stateSessionJoined. // This is a cheap way to make sure both have happened before proceeding. do { + LLEventTimeout voicePumpTimeout(voicePump); + voicePumpTimeout.eventAfter(SESSION_JOIN_TIMEOUT, timeoutResult); result = llcoro::suspendUntilEventOn(voicePumpTimeout); |