From 86a3e1a3dc59c964d78c509e99a59d52eea32b34 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Tue, 19 Apr 2016 14:10:57 -0700 Subject: MAINT-6336: Crasher on disconnect in DDoS. --- indra/newview/llvoicevivox.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra') 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); -- cgit v1.2.3