diff --git a/OpenSim/Region/Application/Application.cs b/OpenSim/Region/Application/Application.cs
index d2537755e2..bf44274b34 100644
--- a/OpenSim/Region/Application/Application.cs
+++ b/OpenSim/Region/Application/Application.cs
@@ -80,6 +80,7 @@ namespace OpenSim
}
}
+ private static bool _IsHandlingException = false; // Make sure we don't go recursive on ourself
///
/// Global exception handler -- all unhandlet exceptions end up here :)
///
@@ -87,6 +88,9 @@ namespace OpenSim
///
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
+ if (_IsHandlingException)
+ return;
+ _IsHandlingException = true;
// TODO: Add config option to allow users to turn off error reporting
// TODO: Post error report (disabled for now)
@@ -96,7 +100,10 @@ namespace OpenSim
msg += "\r\n";
msg += "Exception: " + e.ExceptionObject.ToString() + "\r\n";
-
+ Exception ex = (Exception)e.ExceptionObject;
+ if (ex.InnerException != null)
+ msg += "InnerException: " + ex.InnerException.ToString() + "\r\n";
+
msg += "\r\n";
msg += "Application is terminating: " + e.IsTerminating.ToString() + "\r\n";
@@ -118,6 +125,8 @@ namespace OpenSim
{
// Ignore
}
+
+ _IsHandlingException=false;
}
}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 6a10969b3a..c6f9affadc 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1696,19 +1696,15 @@ namespace OpenSim.Region.Environment.Scenes
return LLUUID.Zero;
}
- private static readonly object _performParcelPrimCountUpdateMutex = new object();
///
///
///
public void performParcelPrimCountUpdate()
{
- lock (_performParcelPrimCountUpdateMutex)
- {
m_LandManager.resetAllLandPrimCounts();
m_eventManager.TriggerParcelPrimCountUpdate();
m_LandManager.finalizeLandPrimCountUpdate();
m_LandManager.landPrimCountTainted = false;
- }
}
///