OpenSimMirror/OpenSim
Justin Clark-Casey (justincc) 0568c76a88 Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-07 00:47:04 +00:00
..
ApplicationPlugins Remove unnecessary ability to directly set InventoryItemBase.CreatorIdAsUuid 2012-11-17 01:23:29 +00:00
Capabilities minor: change method doc on GetTextureHandler.TryParseRange(), mainly to trigger another build 2012-12-06 01:36:30 +00:00
ConsoleClient A few more AssemblyInfos in a few more dlls. 2012-11-14 08:10:15 -08:00
Data Fix database service unit test failures by temporarily reverting BasicDataServiceTest extending OpenSimTestCase. 2012-11-26 22:25:36 +00:00
Framework Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts. 2012-12-07 00:47:04 +00:00
Region Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts. 2012-12-07 00:47:04 +00:00
Server Factor out command script code. 2012-11-22 05:57:20 +00:00
Services Improvement in HGInstantMessageService: account for the existence of an offline IM service. 2012-12-04 08:08:34 -08:00
Tests Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Tools The last few AssemblyInfos. Finished! 2012-11-14 21:18:18 -08:00