aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/DoubleDictionaryThreadAbortSafe.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-05-13we can't allow abort to change only one dicUbitUmarov1-29/+33
2017-05-13fix wrong locking on unused path it case it does get uses. Thanks LaNani SundaraUbitUmarov1-1/+1
2017-01-05Massive tab and trailing space cleanupMelanie Thielker1-62/+62
2016-11-18 a few more changes on potencial mem issuesUbitUmarov1-0/+5
2012-12-07Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the ↵Justin Clark-Casey (justincc)1-0/+508
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.