summaryrefslogtreecommitdiff
path: root/indra/llcommon/llapp.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/llapp.h')
-rw-r--r--indra/llcommon/llapp.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h
index c199601c20..c5a1546883 100644
--- a/indra/llcommon/llapp.h
+++ b/indra/llcommon/llapp.h
@@ -190,6 +190,7 @@ public:
// Error handling methods
//
void setErrorHandler(LLAppErrorHandler handler);
+ void setSyncErrorHandler(LLAppErrorHandler handler);
#if !LL_WINDOWS
//
@@ -246,13 +247,15 @@ protected:
private:
void setupErrorHandling(); // Do platform-specific error-handling setup (signals, structured exceptions)
- static void runErrorHandler();
+ static void runErrorHandler(); // run shortly after we detect an error, ran in the relatively robust context of the LLErrorThread - preferred.
+ static void runSyncErrorHandler(); // run IMMEDIATELY when we get an error, ran in the context of the faulting thread.
// *NOTE: On Windows, we need a routine to reset the structured
// exception handler when some evil driver has taken it over for
// their own purposes
typedef int(*signal_handler_func)(int signum);
static LLAppErrorHandler sErrorHandler;
+ static LLAppErrorHandler sSyncErrorHandler;
// Default application threads
LLErrorThread* mThreadErrorp; // Waits for app to go to status ERROR, then runs the error callback