diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-13 22:44:27 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-13 22:48:11 +0300 |
commit | 8772aed531ace9fda06649c1656c4cba98d270a9 (patch) | |
tree | c48cdfa5c9d7300f107d6ddf3b323848efe5a2ab /indra/newview/llmutelist.cpp | |
parent | 26a0df8988d116ed0e2a9e3c559786ac5884feb9 (diff) |
SL-15013 Block List very often is empty when I log in
It looks like these messages were often getting lost.
These requests have higher, more visible impact if lost, so doubled retries.
As per Ansariel's suggestion moved request to a less busy stage.
Diffstat (limited to 'indra/newview/llmutelist.cpp')
-rw-r--r-- | indra/newview/llmutelist.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index 663a6071f7..4a8ef53a8b 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -726,7 +726,20 @@ void LLMuteList::requestFromServer(const LLUUID& agent_id) msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); msg->nextBlockFast(_PREHASH_MuteData); msg->addU32Fast(_PREHASH_MuteCRC, crc.getCRC()); - gAgent.sendReliableMessage(); + + if (gDisconnected) + { + LL_WARNS() << "Trying to request mute list when disconnected!" << LL_ENDL; + return; + } + if (!gAgent.getRegion()) + { + LL_WARNS() << "No region for agent yet, skipping mute list request!" << LL_ENDL; + return; + } + // Double amount of retries due to this request happening during busy stage + // Ideally this should be turned into a capability + gMessageSystem->sendReliable(gAgent.getRegionHost(), LL_DEFAULT_RELIABLE_RETRIES * 2, TRUE, LL_PING_BASED_TIMEOUT_DUMMY, NULL, NULL); } //----------------------------------------------------------------------------- |