Rename Scene.StartTimer() to Start() - this method no longer uses a timer. Comment out more effectively unused old heartbeat code.

0.7.3-extended
Justin Clark-Casey (justincc) 2012-03-23 01:21:43 +00:00
parent 24b5fb8523
commit 47fe6170b2
2 changed files with 26 additions and 25 deletions

View File

@ -424,7 +424,7 @@ namespace OpenSim
mscene = scene; mscene = scene;
scene.StartTimer(); scene.Start();
scene.StartScripts(); scene.StartScripts();

View File

@ -211,7 +211,7 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
private bool m_cleaningTemps = false; private bool m_cleaningTemps = false;
private Object m_heartbeatLock = new Object(); // private Object m_heartbeatLock = new Object();
// TODO: Possibly stop other classes being able to manipulate this directly. // TODO: Possibly stop other classes being able to manipulate this directly.
private SceneGraph m_sceneGraph; private SceneGraph m_sceneGraph;
@ -1164,9 +1164,9 @@ namespace OpenSim.Region.Framework.Scenes
} }
/// <summary> /// <summary>
/// Start the timer which triggers regular scene updates /// Start the scene
/// </summary> /// </summary>
public void StartTimer() public void Start()
{ {
// m_log.DebugFormat("[SCENE]: Starting Heartbeat timer for {0}", RegionInfo.RegionName); // m_log.DebugFormat("[SCENE]: Starting Heartbeat timer for {0}", RegionInfo.RegionName);
@ -1211,33 +1211,34 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
private void Heartbeat() private void Heartbeat()
{ {
if (!Monitor.TryEnter(m_heartbeatLock)) // if (!Monitor.TryEnter(m_heartbeatLock))
{ // {
Watchdog.RemoveThread(); // Watchdog.RemoveThread();
return; // return;
} // }
try // try
{ // {
m_eventManager.TriggerOnRegionStarted(this);
// The first frame can take a very long time due to physics actors being added on startup. Therefore, m_eventManager.TriggerOnRegionStarted(this);
// don't turn on the watchdog alarm for this thread until the second frame, in order to prevent false
// alarms for scenes with many objects.
Update(1);
Watchdog.GetCurrentThreadInfo().AlarmIfTimeout = true;
while (!shuttingdown) // The first frame can take a very long time due to physics actors being added on startup. Therefore,
Update(-1); // don't turn on the watchdog alarm for this thread until the second frame, in order to prevent false
// alarms for scenes with many objects.
Update(1);
Watchdog.GetCurrentThreadInfo().AlarmIfTimeout = true;
while (!shuttingdown)
Update(-1);
// m_lastUpdate = Util.EnvironmentTickCount(); // m_lastUpdate = Util.EnvironmentTickCount();
// m_firstHeartbeat = false; // m_firstHeartbeat = false;
} // }
finally // finally
{ // {
Monitor.Pulse(m_heartbeatLock); // Monitor.Pulse(m_heartbeatLock);
Monitor.Exit(m_heartbeatLock); // Monitor.Exit(m_heartbeatLock);
} // }
Watchdog.RemoveThread(); Watchdog.RemoveThread();
} }