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

master
Brad Payne (Vir Linden) 2011-10-27 14:50:54 -04:00
parent cc719670d9
commit 0c84957d31
6 changed files with 18 additions and 1 deletions

6
indra/linux_crash_logger/llcrashloggerlinux.cpp Normal file → Executable file
View File

@ -133,6 +133,12 @@ bool LLCrashLoggerLinux::mainLoop()
return true;
}
bool LLCrashLoggerLinux::cleanup()
{
commonCleanup();
return true;
}
void LLCrashLoggerLinux::updateApplication(const std::string& message)
{
LLCrashLogger::updateApplication(message);

1
indra/linux_crash_logger/llcrashloggerlinux.h Normal file → Executable file
View File

@ -39,6 +39,7 @@ public:
virtual bool mainLoop();
virtual void updateApplication(const std::string& = LLStringUtil::null);
virtual void gatherPlatformSpecificFiles();
virtual bool cleanup();
};
#endif

7
indra/llcrashlogger/llcrashlogger.cpp Normal file → Executable file
View File

@ -42,6 +42,7 @@
#include "llpumpio.h"
#include "llhttpclient.h"
#include "llsdserialize.h"
#include "llproxy.h"
LLPumpIO* gServicePump;
BOOL gBreak = false;
@ -428,3 +429,9 @@ bool LLCrashLogger::init()
return true;
}
// For cleanup code common to all platforms.
void LLCrashLogger::commonCleanup()
{
LLProxy::cleanupClass();
}

3
indra/llcrashlogger/llcrashlogger.h Normal file → Executable file
View File

@ -48,7 +48,8 @@ public:
virtual void updateApplication(const std::string& message = LLStringUtil::null);
virtual bool init();
virtual bool mainLoop() = 0;
virtual bool cleanup() { return true; }
virtual bool cleanup() = 0;
void commonCleanup();
void setUserText(const std::string& text) { mCrashInfo["UserNotes"] = text; }
S32 getCrashBehavior() { return mCrashBehavior; }
bool runCrashLogPost(std::string host, LLSD data, std::string msg, int retries, int timeout);

1
indra/mac_crash_logger/llcrashloggermac.cpp Normal file → Executable file
View File

@ -249,5 +249,6 @@ void LLCrashLoggerMac::updateApplication(const std::string& message)
bool LLCrashLoggerMac::cleanup()
{
commonCleanup();
return true;
}

1
indra/win_crash_logger/llcrashloggerwindows.cpp Normal file → Executable file
View File

@ -370,5 +370,6 @@ bool LLCrashLoggerWindows::cleanup()
sleep_and_pump_messages(3);
}
PostQuitMessage(0);
commonCleanup();
return true;
}