summaryrefslogtreecommitdiff
path: root/indra/llcommon/llerror.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-10-17 10:31:59 -0400
committerNat Goodspeed <nat@lindenlab.com>2018-10-17 10:31:59 -0400
commit036c52fcdf425fe79a9aa6682cd7c7fe709a2442 (patch)
tree80b637dd5876fa63fa247567aa5c267cfaf10441 /indra/llcommon/llerror.cpp
parent3abc0095c9e39faf8976ef815b0da656423c4905 (diff)
parentbffe112cf5a1b9dd8acf5146c733a0fe186f6e89 (diff)
Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidon
Diffstat (limited to 'indra/llcommon/llerror.cpp')
-rw-r--r--indra/llcommon/llerror.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 06c7aef8ab..6dfb4bf028 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -368,6 +368,7 @@ namespace
public:
std::ostringstream messageStream;
bool messageStreamInUse;
+ std::string mFatalMessage;
void addCallSite(LLError::CallSite&);
void invalidateCallSites();
@@ -666,11 +667,16 @@ namespace LLError
s->mCrashFunction = f;
}
- FatalFunction getFatalFunction()
- {
+ FatalFunction getFatalFunction()
+ {
SettingsConfigPtr s = Settings::getInstance()->getSettingsConfig();
- return s->mCrashFunction;
- }
+ return s->mCrashFunction;
+ }
+
+ std::string getFatalMessage()
+ {
+ return Globals::getInstance()->mFatalMessage;
+ }
void setTimeFunction(TimeFunction f)
{
@@ -1256,12 +1262,17 @@ namespace LLError
}
addEscapedMessage(message_stream, message);
+ std::string message_line(message_stream.str());
- writeToRecorders(site, message_stream.str());
-
- if (site.mLevel == LEVEL_ERROR && s->mCrashFunction)
+ writeToRecorders(site, message_line);
+
+ if (site.mLevel == LEVEL_ERROR)
{
- s->mCrashFunction(message_stream.str());
+ g->mFatalMessage = message_line;
+ if (s->mCrashFunction)
+ {
+ s->mCrashFunction(message_line);
+ }
}
}
}