From fd4533261e46c080591b06cec030c464e5fe9a90 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Thu, 30 Apr 2026 01:39:30 +0300 Subject: #5084 Improve watchdog's behavior #2 --- indra/llcommon/llwatchdog.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/llcommon/llwatchdog.cpp') diff --git a/indra/llcommon/llwatchdog.cpp b/indra/llcommon/llwatchdog.cpp index 1622aeb180..66b565c763 100644 --- a/indra/llcommon/llwatchdog.cpp +++ b/indra/llcommon/llwatchdog.cpp @@ -191,6 +191,7 @@ void LLWatchdog::remove(LLWatchdogEntry* e) { lockThread(); mSuspects.erase(e); + mFrozeList.erase(e); unlockThread(); } @@ -284,8 +285,9 @@ void LLWatchdog::run() // Sets watchdog marker file mCreateMarkerFnc(false); // If it's mainloop and it somehow recovers, it will re-add itself - mSuspects.erase(*result); - mFrozeList.insert(*result); + LLWatchdogEntry* froze_entry = *result; + mSuspects.erase(result); + mFrozeList.insert(froze_entry); LL_WARNS() << description << LL_ENDL; } else @@ -307,8 +309,9 @@ void LLWatchdog::run() mCreateMarkerFnc(false); // Already reported, don't report again. // If it's mainloop and it somehow recovers, it will re-add itself + LLWatchdogEntry* froze_entry = *result; mSuspects.erase(result); - mFrozeList.insert(*result); + mFrozeList.insert(froze_entry); } } } -- cgit v1.3