* Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later

* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
This commit is contained in:
John Hurliman
2009-10-26 14:41:27 -07:00
parent c04775bf68
commit ac7ccdf7d7
3 changed files with 38 additions and 32 deletions

View File

@@ -2705,8 +2705,6 @@ namespace OpenSim.Region.Physics.OdePlugin
{
foreach (OdePrim prim in _taintedPrimL)
{
if (prim.m_taintremove)
{
//Console.WriteLine("Simulate calls RemovePrimThreadLocked");
@@ -2719,6 +2717,12 @@ namespace OpenSim.Region.Physics.OdePlugin
}
processedtaints = true;
prim.m_collisionscore = 0;
// This loop can block up the Heartbeat for a very long time on large regions.
// We need to let the Watchdog know that the Heartbeat is not dead
// NOTE: This is currently commented out, but if things like OAR loading are
// timing the heartbeat out we will need to uncomment it
//Watchdog.UpdateThread();
}
if (SupportsNINJAJoints)