From efb9df04c3899c269f0c17d2473b4472d5f31ee5 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 15 Apr 2022 20:53:21 +0300
Subject: [PATCH] SL-16831 Don't wait for an updater on login failure unles
 it's the cause of failure

---
 indra/viewer_components/login/lllogin.cpp | 28 ++++++++++-------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index 5d50d1e182c..8a7e6407ed1 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -257,25 +257,21 @@ void LLLogin::Impl::loginCoro(std::string uri, LLSD login_params)
                 if (printable_params["wait_for_updater"].asBoolean())
                 {
                     std::string reason_response = responses["data"]["reason"].asString();
-                    // Timeout should produce the isUndefined() object passed here.
-                    if (reason_response == "update")
+                    if (reason_response == "update") // No point waiting if not an update
                     {
+                        // Timeout should produce the isUndefined() object passed here.
                         LL_INFOS("LLLogin") << "Login failure, waiting for sync from updater" << LL_ENDL;
                         updater = llcoro::suspendUntilEventOnWithTimeout(sSyncPoint, 10, LLSD());
-                    }
-                    else
-                    {
-                        LL_DEBUGS("LLLogin") << "Login failure, waiting for sync from updater" << LL_ENDL;
-                        updater = llcoro::suspendUntilEventOnWithTimeout(sSyncPoint, 3, LLSD());
-                    }
-                    if (updater.isUndefined())
-                    {
-                        LL_WARNS("LLLogin") << "Failed to hear from updater, proceeding with fail.login"
-                                            << LL_ENDL;
-                    }
-                    else
-                    {
-                        LL_DEBUGS("LLLogin") << "Got responses from updater and login.cgi" << LL_ENDL;
+
+                        if (updater.isUndefined())
+                        {
+                            LL_WARNS("LLLogin") << "Failed to hear from updater, proceeding with fail.login"
+                                << LL_ENDL;
+                        }
+                        else
+                        {
+                            LL_DEBUGS("LLLogin") << "Got responses from updater and login.cgi" << LL_ENDL;
+                        }
                     }
                 }
 
-- 
GitLab