Skip to content
Snippets Groups Projects
Commit 0c84957d authored by Brad Payne (Vir Linden)'s avatar Brad Payne (Vir Linden)
Browse files

SH-2606 FIX, SH-2628 FIX - crash on exit in crash logger fixed by LLProxy::cleanupClass()

parent cc719670
No related branches found
No related tags found
No related merge requests found
...@@ -133,6 +133,12 @@ bool LLCrashLoggerLinux::mainLoop() ...@@ -133,6 +133,12 @@ bool LLCrashLoggerLinux::mainLoop()
return true; return true;
} }
bool LLCrashLoggerLinux::cleanup()
{
commonCleanup();
return true;
}
void LLCrashLoggerLinux::updateApplication(const std::string& message) void LLCrashLoggerLinux::updateApplication(const std::string& message)
{ {
LLCrashLogger::updateApplication(message); LLCrashLogger::updateApplication(message);
......
...@@ -39,6 +39,7 @@ class LLCrashLoggerLinux : public LLCrashLogger ...@@ -39,6 +39,7 @@ class LLCrashLoggerLinux : public LLCrashLogger
virtual bool mainLoop(); virtual bool mainLoop();
virtual void updateApplication(const std::string& = LLStringUtil::null); virtual void updateApplication(const std::string& = LLStringUtil::null);
virtual void gatherPlatformSpecificFiles(); virtual void gatherPlatformSpecificFiles();
virtual bool cleanup();
}; };
#endif #endif
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
#include "llpumpio.h" #include "llpumpio.h"
#include "llhttpclient.h" #include "llhttpclient.h"
#include "llsdserialize.h" #include "llsdserialize.h"
#include "llproxy.h"
LLPumpIO* gServicePump; LLPumpIO* gServicePump;
BOOL gBreak = false; BOOL gBreak = false;
...@@ -428,3 +429,9 @@ bool LLCrashLogger::init() ...@@ -428,3 +429,9 @@ bool LLCrashLogger::init()
return true; return true;
} }
// For cleanup code common to all platforms.
void LLCrashLogger::commonCleanup()
{
LLProxy::cleanupClass();
}
...@@ -48,7 +48,8 @@ class LLCrashLogger : public LLApp ...@@ -48,7 +48,8 @@ class LLCrashLogger : public LLApp
virtual void updateApplication(const std::string& message = LLStringUtil::null); virtual void updateApplication(const std::string& message = LLStringUtil::null);
virtual bool init(); virtual bool init();
virtual bool mainLoop() = 0; virtual bool mainLoop() = 0;
virtual bool cleanup() { return true; } virtual bool cleanup() = 0;
void commonCleanup();
void setUserText(const std::string& text) { mCrashInfo["UserNotes"] = text; } void setUserText(const std::string& text) { mCrashInfo["UserNotes"] = text; }
S32 getCrashBehavior() { return mCrashBehavior; } S32 getCrashBehavior() { return mCrashBehavior; }
bool runCrashLogPost(std::string host, LLSD data, std::string msg, int retries, int timeout); bool runCrashLogPost(std::string host, LLSD data, std::string msg, int retries, int timeout);
......
...@@ -249,5 +249,6 @@ void LLCrashLoggerMac::updateApplication(const std::string& message) ...@@ -249,5 +249,6 @@ void LLCrashLoggerMac::updateApplication(const std::string& message)
bool LLCrashLoggerMac::cleanup() bool LLCrashLoggerMac::cleanup()
{ {
commonCleanup();
return true; return true;
} }
...@@ -370,5 +370,6 @@ bool LLCrashLoggerWindows::cleanup() ...@@ -370,5 +370,6 @@ bool LLCrashLoggerWindows::cleanup()
sleep_and_pump_messages(3); sleep_and_pump_messages(3);
} }
PostQuitMessage(0); PostQuitMessage(0);
commonCleanup();
return true; return true;
} }
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