aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/Application.cs
diff options
context:
space:
mode:
authorTedd Hansen2008-01-18 23:45:16 +0000
committerTedd Hansen2008-01-18 23:45:16 +0000
commitd23222cbc69f1c8e40c2e9509347e0a1a2734860 (patch)
treee4d61a437d068c6070d26ebc5e4f2d31aa0873e5 /OpenSim/Region/Application/Application.cs
parent* Return of the avatar wobble. (diff)
downloadopensim-SC-d23222cbc69f1c8e40c2e9509347e0a1a2734860.zip
opensim-SC-d23222cbc69f1c8e40c2e9509347e0a1a2734860.tar.gz
opensim-SC-d23222cbc69f1c8e40c2e9509347e0a1a2734860.tar.bz2
opensim-SC-d23222cbc69f1c8e40c2e9509347e0a1a2734860.tar.xz
Added block for scenario: global exception handler called in loop when exception happens inside global exception handler
Added InnerException to output
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Application/Application.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Application/Application.cs b/OpenSim/Region/Application/Application.cs
index d253775..bf44274 100644
--- a/OpenSim/Region/Application/Application.cs
+++ b/OpenSim/Region/Application/Application.cs
@@ -80,6 +80,7 @@ namespace OpenSim
80 } 80 }
81 } 81 }
82 82
83 private static bool _IsHandlingException = false; // Make sure we don't go recursive on ourself
83 /// <summary> 84 /// <summary>
84 /// Global exception handler -- all unhandlet exceptions end up here :) 85 /// Global exception handler -- all unhandlet exceptions end up here :)
85 /// </summary> 86 /// </summary>
@@ -87,6 +88,9 @@ namespace OpenSim
87 /// <param name="e"></param> 88 /// <param name="e"></param>
88 private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) 89 private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
89 { 90 {
91 if (_IsHandlingException)
92 return;
93 _IsHandlingException = true;
90 // TODO: Add config option to allow users to turn off error reporting 94 // TODO: Add config option to allow users to turn off error reporting
91 // TODO: Post error report (disabled for now) 95 // TODO: Post error report (disabled for now)
92 96
@@ -96,7 +100,10 @@ namespace OpenSim
96 msg += "\r\n"; 100 msg += "\r\n";
97 101
98 msg += "Exception: " + e.ExceptionObject.ToString() + "\r\n"; 102 msg += "Exception: " + e.ExceptionObject.ToString() + "\r\n";
99 103 Exception ex = (Exception)e.ExceptionObject;
104 if (ex.InnerException != null)
105 msg += "InnerException: " + ex.InnerException.ToString() + "\r\n";
106
100 msg += "\r\n"; 107 msg += "\r\n";
101 msg += "Application is terminating: " + e.IsTerminating.ToString() + "\r\n"; 108 msg += "Application is terminating: " + e.IsTerminating.ToString() + "\r\n";
102 109
@@ -118,6 +125,8 @@ namespace OpenSim
118 { 125 {
119 // Ignore 126 // Ignore
120 } 127 }
128
129 _IsHandlingException=false;
121 } 130 }
122 131
123 } 132 }