Justin Clark-Casey (justincc)
bafef292f4
Take watchdog alarm calling back outside the m_threads lock.
...
This is how it was originally. This stops a very long running alarm callback from causing a problem.
2012-02-24 05:25:18 +00:00
Justin Clark-Casey (justincc)
9e6ffe7798
Rename Watchdog.GetThreads() to GetThreadsInfo() to reflect what it actually returns and for consistency.
2012-02-24 05:15:47 +00:00
Justin Clark-Casey (justincc)
f67f37074f
Stop spurious scene loop startup timeout alarms for scenes with many prims.
...
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00
Justin Clark-Casey (justincc)
aea547cd11
fix build break on UserManagementModule.
...
This also adds time since started to "show threads". Unfortunately these two changes got mixed in.
2011-11-15 23:24:51 +00:00
Justin Clark-Casey (justincc)
7db38a351c
Add number of milliseconds since last update to "show threads"
2011-11-15 21:49:13 +00:00
Justin Clark-Casey (justincc)
e61ea79c72
doh - correct build break
2011-11-12 00:27:43 +00:00
Justin Clark-Casey (justincc)
f130e1a86f
Add threads to the watchdog thread list before we start them.
...
Hopefully this wil make "WATCHDOG: Asked to update thread ## which is not being monitored" messages." go away.
2011-11-12 00:24:45 +00:00
Justin Clark-Casey (justincc)
c275c22928
Restart the event queue worker threads that I accidentally disabled earlier today in 8a0a78c
.
...
Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-25 23:26:21 +01:00
Justin Clark-Casey (justincc)
182908d216
In Watchdog, add ability to specific timeout for a thread.
...
This also changes the point of registration to the StartThread() call rather than the first Update()
2011-10-25 23:16:01 +01:00
Justin Clark-Casey (justincc)
e549f2f443
Add m_threads dictionary locking to Watchdog.GetThreads()
2011-10-25 22:51:23 +01:00
Justin Clark-Casey (justincc)
968cae6c17
Add "threads abort <thread-id>" simulator console command that allows us to abort a watchdog managed thread.
...
This is for diagnostic purposes.
2011-10-25 20:49:46 +01:00
Justin Clark-Casey (justincc)
609375bf37
Fix "show threads" to show threads now being managed by OpenSim.Framework.Watchdog
2010-09-14 22:24:11 +01:00
John Hurliman
ac7ccdf7d7
* 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
2009-10-26 14:41:27 -07:00
John Hurliman
b2ed348aa2
Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated
2009-10-22 12:33:23 -07:00