diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-10-28 00:08:22 +0200 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-10-28 12:34:30 +0200 | 
| commit | 5a6ef4e85ee08ce0beb05cd489ed525c0732799f (patch) | |
| tree | 675264f304d4ebcff73f9a150d2c06127eae197b | |
| parent | 99d2ae5e021310ca09af4f0377c5609d007ee52e (diff) | |
SL-14217 Shutdown crash
Don't process EventQueueGet responses from server when disconected
| -rw-r--r-- | indra/newview/lleventpoll.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/indra/newview/lleventpoll.cpp b/indra/newview/lleventpoll.cpp index 299fffd9ab..4b5fd8a758 100644 --- a/indra/newview/lleventpoll.cpp +++ b/indra/newview/lleventpoll.cpp @@ -166,6 +166,14 @@ namespace Details  //          LL_DEBUGS("LLEventPollImpl::eventPollCoro") << "<" << counter << "> result = "  //              << LLSDXMLStreamer(result) << LL_ENDL; +            if (gDisconnected) +            { +                // Lost connection or disconnected during quit, don't process sim/region update +                // messages, they might populate some cleaned up classes (LLWorld, region and object list) +                LL_INFOS("LLEventPollImpl") << "Dropping event messages" << LL_ENDL; +                break; +            } +              LLSD httpResults = result["http_result"];              LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -210,7 +218,7 @@ namespace Details                      llcoro::suspendUntilTimeout(waitToRetry); -                    if (mDone) +                    if (mDone || gDisconnected)                          break;                      LL_INFOS("LLEventPollImpl") << "<" << counter << "> About to retry request." << LL_ENDL;                      continue; | 
