summaryrefslogtreecommitdiff
path: root/indra/newview/llwatchdog.cpp
diff options
context:
space:
mode:
authorEuclid Linden <euclid@lindenlab.com>2021-07-19 21:52:37 +0000
committerEuclid Linden <euclid@lindenlab.com>2021-07-19 21:52:37 +0000
commit08f04113c9252258c9cb6132efa327432c3c27e0 (patch)
tree5ec6c6d42eaca354f58e21b926d9108e43367484 /indra/newview/llwatchdog.cpp
parent10f84d8244d01728338f1eb20b0b25271fc7db63 (diff)
parentaa322d8eb4341c213a19cef87a887114c1ca278b (diff)
Merged in DV541-merge-6.4.22 (pull request #629)
DRTVWR-541 merge up to v 6.4.22
Diffstat (limited to 'indra/newview/llwatchdog.cpp')
-rw-r--r--indra/newview/llwatchdog.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/indra/newview/llwatchdog.cpp b/indra/newview/llwatchdog.cpp
index 6273f10c69..0aa0280b25 100644
--- a/indra/newview/llwatchdog.cpp
+++ b/indra/newview/llwatchdog.cpp
@@ -31,15 +31,6 @@
const U32 WATCHDOG_SLEEP_TIME_USEC = 1000000;
-void default_killer_callback()
-{
-#ifdef LL_WINDOWS
- RaiseException(0,0,0,0);
-#else
- raise(SIGQUIT);
-#endif
-}
-
// This class runs the watchdog timing thread.
class LLWatchdogTimerThread : public LLThread
{
@@ -158,11 +149,10 @@ void LLWatchdogTimeout::ping(const std::string& state)
}
// LLWatchdog
-LLWatchdog::LLWatchdog() :
- mSuspectsAccessMutex(),
- mTimer(NULL),
- mLastClockCount(0),
- mKillerCallback(&default_killer_callback)
+LLWatchdog::LLWatchdog()
+ :mSuspectsAccessMutex()
+ ,mTimer(NULL)
+ ,mLastClockCount(0)
{
}
@@ -184,9 +174,8 @@ void LLWatchdog::remove(LLWatchdogEntry* e)
unlockThread();
}
-void LLWatchdog::init(killer_event_callback func)
+void LLWatchdog::init()
{
- mKillerCallback = func;
if(!mSuspectsAccessMutex && !mTimer)
{
mSuspectsAccessMutex = new LLMutex();
@@ -253,8 +242,7 @@ void LLWatchdog::run()
mTimer->stop();
}
- LL_INFOS() << "Watchdog detected error:" << LL_ENDL;
- mKillerCallback();
+ LL_ERRS() << "Watchdog timer expired; assuming viewer is hung and crashing" << LL_ENDL;
}
}