diff options
author | Euclid Linden <euclid@lindenlab.com> | 2021-07-19 22:24:33 +0000 |
---|---|---|
committer | Euclid Linden <euclid@lindenlab.com> | 2021-07-19 22:24:33 +0000 |
commit | 1b15b8cda7853e55a91fd0140311ed69f3cca677 (patch) | |
tree | 33edfb0495161594a50dcfbed3a3f42e7fde9143 /indra/llcommon/llapp.cpp | |
parent | dc14dbf54d332a6cdc43002bb71ed71e9a473647 (diff) | |
parent | 4c849ba91363f82da05cce1221b04075a6ca72af (diff) |
Merged in DV528-merge-6.4.22 (pull request #630)
DRTVWR-528 merge up to v 6.4.22
Diffstat (limited to 'indra/llcommon/llapp.cpp')
-rw-r--r-- | indra/llcommon/llapp.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index a90b294550..6064a843ae 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -528,7 +528,12 @@ void LLApp::setupErrorHandling(bool second_instance) #endif // LL_LINUX #endif // ! LL_WINDOWS + +#ifdef LL_BUGSPLAT + // do not start our own error thread +#else // ! LL_BUGSPLAT startErrorThread(); +#endif } void LLApp::startErrorThread() @@ -808,7 +813,9 @@ void setup_signals() act.sa_flags = SA_SIGINFO; // Synchronous signals +# ifndef LL_BUGSPLAT sigaction(SIGABRT, &act, NULL); +# endif sigaction(SIGALRM, &act, NULL); sigaction(SIGBUS, &act, NULL); sigaction(SIGFPE, &act, NULL); @@ -845,7 +852,9 @@ void clear_signals() act.sa_flags = SA_SIGINFO; // Synchronous signals +# ifndef LL_BUGSPLAT sigaction(SIGABRT, &act, NULL); +# endif sigaction(SIGALRM, &act, NULL); sigaction(SIGBUS, &act, NULL); sigaction(SIGFPE, &act, NULL); @@ -898,6 +907,7 @@ void default_unix_signal_handler(int signum, siginfo_t *info, void *) return; case SIGABRT: + // Note that this handler is not set for SIGABRT when using Bugsplat // Abort just results in termination of the app, no funky error handling. if (LLApp::sLogInSignal) { |