Add some extra debug on scene close

avinationmerge
UbitUmarov 2012-10-28 09:51:27 +00:00
parent 3b51cae958
commit aa97014ee4
1 changed files with 9 additions and 1 deletions

View File

@ -1255,9 +1255,11 @@ namespace OpenSim.Region.Framework.Scenes
// Stop all client threads. // Stop all client threads.
ForEachScenePresence(delegate(ScenePresence avatar) { avatar.ControllingClient.Close(); }); ForEachScenePresence(delegate(ScenePresence avatar) { avatar.ControllingClient.Close(); });
m_log.Debug("[SCENE]: Persisting changed objects"); m_log.Debug("[SCENE]: TriggerSceneShuttingDown");
EventManager.TriggerSceneShuttingDown(this); EventManager.TriggerSceneShuttingDown(this);
m_log.Debug("[SCENE]: Persisting changed objects");
EntityBase[] entities = GetEntities(); EntityBase[] entities = GetEntities();
foreach (EntityBase entity in entities) foreach (EntityBase entity in entities)
{ {
@ -1267,10 +1269,12 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
m_log.Debug("[SCENE]: Graph close");
m_sceneGraph.Close(); m_sceneGraph.Close();
if (PhysicsScene != null) if (PhysicsScene != null)
{ {
m_log.Debug("[SCENE]: Dispose Physics");
PhysicsScene phys = PhysicsScene; PhysicsScene phys = PhysicsScene;
// remove the physics engine from both Scene and SceneGraph // remove the physics engine from both Scene and SceneGraph
PhysicsScene = null; PhysicsScene = null;
@ -1282,6 +1286,7 @@ namespace OpenSim.Region.Framework.Scenes
m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", Name); m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", Name);
// call the base class Close method. // call the base class Close method.
m_log.Debug("[SCENE]: Base close");
base.Close(); base.Close();
} }
@ -1317,6 +1322,9 @@ namespace OpenSim.Region.Framework.Scenes
} }
// m_lastUpdate = Util.EnvironmentTickCount(); // m_lastUpdate = Util.EnvironmentTickCount();
m_sceneGraph.PreparePhysicsSimulation();
m_heartbeatThread m_heartbeatThread
= Watchdog.StartThread( = Watchdog.StartThread(
Heartbeat, string.Format("Heartbeat ({0})", RegionInfo.RegionName), ThreadPriority.Normal, false, false); Heartbeat, string.Format("Heartbeat ({0})", RegionInfo.RegionName), ThreadPriority.Normal, false, false);