summaryrefslogtreecommitdiff
path: root/indra/llcommon/llwatchdog.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-09-01 18:35:23 +0800
committerErik Kundiman <erik@megapahit.org>2026-09-04 21:58:53 +0800
commit00bb3bb6f07660bd914d29a1389342bb3060d254 (patch)
tree431f574922494d2201718f13085f17bc6bd7fb42 /indra/llcommon/llwatchdog.cpp
parenta8636720129952c10cf49ab80da21bf8b340b96c (diff)
parent4ef9f8f14b35ed388c294d53767a0dca0e890924 (diff)
Merge remote-tracking branch 'secondlife/release/26.4' into 26.4
Diffstat (limited to 'indra/llcommon/llwatchdog.cpp')
-rw-r--r--indra/llcommon/llwatchdog.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/llcommon/llwatchdog.cpp b/indra/llcommon/llwatchdog.cpp
index 886f19366c..ad7c2db62e 100644
--- a/indra/llcommon/llwatchdog.cpp
+++ b/indra/llcommon/llwatchdog.cpp
@@ -51,6 +51,7 @@ public:
{
mStopping = true;
mSleepMsecs = 1;
+ setQuitting();
}
void run() override
@@ -116,6 +117,11 @@ bool LLWatchdogTimeout::isAlive() const
return (mTimer.getStarted() && !mTimer.hasExpired());
}
+bool LLWatchdogTimeout::hasExpired() const
+{
+ return mTimer.hasExpired();
+}
+
bool LLWatchdogTimeout::started() const
{
return mTimer.getStarted();
@@ -225,11 +231,21 @@ void LLWatchdog::init(
mCrashOnFreeze = crash_on_freeze;
}
+void LLWatchdog::shutdown()
+{
+ if (mTimer)
+ {
+ mTimer->stop();
+ }
+}
+
void LLWatchdog::cleanup()
{
+ LL_PROFILE_ZONE_SCOPED;
if (mTimer)
{
mTimer->stop();
+ mTimer->shutdown();
delete mTimer;
mTimer = nullptr;
}