Skip to content
Snippets Groups Projects
Commit ec208ddf authored by Nat Goodspeed's avatar Nat Goodspeed
Browse files

DRTVWR-476: Defend against late ~LLWatchdogTimeout() calls.

LLAppViewer's heap LLWatchdogTimeout might be destroyed very late -- as late
as in LLAppViewer's destructor. By that time, LLAppViewer::cleanup() has
already called LLSingletonBase::deleteAll(), destroying the LLWatchdog
LLSingleton instance.

But LLWatchdogTimeout isa LLWatchdogEntry, and ~LLWatchdogEntry() calls
stop(), and stop() tries to remove that instance from LLWatchdog, thus
inadvertently resurrecting the deleted LLWatchdog. Which is pointless because
the resurrected LLWatchdog has never heard of the LLWatchdogTimeout instance
trying to remove itself.

Defend LLWatchdogEntry::stop() against the case in which LLWatchdog has
already been deleted.
parent 7f1a2002
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment