From cb4cbd414bd7c835532fd3dd87134a722f27b31e Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Fri, 16 Jan 2026 01:56:17 +0200 Subject: #5084 Adjust watchdog to avoid false-positives And increase allowed time to be more in tune with disconnects. --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llappviewer.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9b1af327eb..068d9c1663 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4501,7 +4501,7 @@ Type F32 Value - 30.0 + 60.0 MapScale diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 85c647fc81..9673224878 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1350,6 +1350,7 @@ bool LLAppViewer::doFrame() { LL_RECORD_BLOCK_TIME(FTM_FRAME); LL_PROFILE_GPU_ZONE("Frame"); + resumeMainloopTimeout("Main:doFrameStart"); #ifdef LL_DISCORD { LL_PROFILE_ZONE_NAMED("discord_callbacks"); @@ -1661,6 +1662,11 @@ bool LLAppViewer::doFrame() LL_INFOS() << "Exiting main_loop" << LL_ENDL; } }LLPerfStats::StatsRecorder::endFrame(); + + // Not viewer's fault if something outside frame + // pauses viewer (ex: macOS doesn't call oneFrame), + // so stop tracking on exit. + pauseMainloopTimeout(); LL_PROFILER_FRAME_END; return ! LLApp::isRunning(); @@ -5913,7 +5919,8 @@ F32 LLAppViewer::getMainloopTimeoutSec() const if (LLStartUp::getStartupState() == STATE_STARTED && gAgent.getTeleportState() == LLAgent::TELEPORT_NONE) { - static LLCachedControl mainloop_started(gSavedSettings, "MainloopTimeoutStarted", 30.f); + // consider making this value match 'disconnected' timout. + static LLCachedControl mainloop_started(gSavedSettings, "MainloopTimeoutStarted", 60.f); return mainloop_started(); } else -- cgit v1.3