OpenSimMirror/OpenSim
Justin Clark-Casey (justincc) 535ec23646 Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-24 02:03:49 +00:00
..
ApplicationPlugins Remove unnecessary ability to directly set InventoryItemBase.CreatorIdAsUuid 2012-11-28 03:21:23 +00:00
Capabilities minor: change method doc on GetTextureHandler.TryParseRange(), mainly to trigger another build 2012-12-12 00:39:39 +00:00
ConsoleClient Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies. 2012-07-11 22:54:22 +01:00
Data Added locking in NullRegionData. 2013-01-24 01:22:54 +00:00
Framework revert accidental change to MemoryWatchdog stat calculation in previous b1b4687 2013-01-24 01:28:16 +00:00
Region Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.) 2013-01-24 02:03:49 +00:00
Server Print full stacktrace from plugin loading failure to help determine what went wrong, rather than a possibly unhelpful simple exception message. 2013-01-24 01:35:08 +00:00
Services Fixed bugs when getting the root folder. 2013-01-24 01:21:30 +00:00
Tests Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-28 03:46:33 +00:00
Tools Fix a bug in pCampbot grabbing behaviour where an exception would be thrown if the bot was not yet aware of any objects. 2012-08-01 22:30:34 +01:00