diff options
| author | Michael Pohoreski <ptolemy@lindenlab.com> | 2019-11-20 17:10:22 -0800 |
|---|---|---|
| committer | Michael Pohoreski <ptolemy@lindenlab.com> | 2019-11-20 17:10:22 -0800 |
| commit | 4b205db468fd371dfe1bb30bb887e2ccbd7044ec (patch) | |
| tree | 6d83efd5ebc0c2a462f33f1b385c5b415a93cb49 /indra/llcommon/llmortician.cpp | |
| parent | 18eb8ac90ce409ba620f6fe8ff487e6195d9c3eb (diff) | |
| parent | 24920de799c8e2dd26854923c7a10fc4a551dd5d (diff) | |
Merged lindenlab/viewer-eep into default
Diffstat (limited to 'indra/llcommon/llmortician.cpp')
| -rw-r--r-- | indra/llcommon/llmortician.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/indra/llcommon/llmortician.cpp b/indra/llcommon/llmortician.cpp index 287f096eae..93c7d520f2 100644 --- a/indra/llcommon/llmortician.cpp +++ b/indra/llcommon/llmortician.cpp @@ -37,6 +37,42 @@ LLMortician::~LLMortician() sGraveyard.remove(this); } +U32 LLMortician::logClass(std::stringstream &str) +{ + U32 size = sGraveyard.size(); + str << "Mortician graveyard count: " << size; + str << " Zealous: " << (sDestroyImmediate ? "True" : "False"); + if (size == 0) + { + return size; + } + str << " Output:\n"; + std::list<LLMortician*>::iterator iter = sGraveyard.begin(); + std::list<LLMortician*>::iterator end = sGraveyard.end(); + while (iter!=end) + { + LLMortician* dead = *iter; + iter++; + // Be as detailed and safe as possible to figure out issues + str << "Pointer: " << dead; + if (dead) + { + try + { + str << " Is dead: " << (dead->isDead() ? "True" : "False"); + str << " Name: " << typeid(*dead).name(); + } + catch (...) + { + + } + } + str << "\n"; + } + str << "--------------------------------------------"; + return size; +} + void LLMortician::updateClass() { while (!sGraveyard.empty()) |
