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