aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/EntityManager.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-05-19Dump OpenSim 0.9.0.1 into it's own branch.onefang1-2/+2
2012-12-07Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the ↵Justin Clark-Casey (justincc)1-1/+3
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.
2011-11-16Call public ForEach instead of using m_entities directly. No semantic ↵Dan Lake1-2/+2
changes, just cleanup
2010-12-17remove mono compiler warningsJustin Clark-Casey (justincc)1-1/+2
2010-09-10Second pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman1-15/+1
2010-09-10First pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman1-160/+50
2009-10-19* Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). ↵John Hurliman1-38/+31
This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference * Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost * Reordered some comparisons on hot code paths for a minor speed boost * Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow) * Don't fire the queue empty callback for the Resend category * Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down * Rewrote some expensive math in LandObject.cs * Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible * Only update the attachment database when an object is attached or detached * Other small misc. performance improvements
2009-10-01Formatting cleanup.Jeff Ames1-1/+1
2009-02-12* optimized usings.lbsa711-1/+0
2009-02-06This changeset is the step 1 of 2 in refactoringDr Scofield1-1/+1
OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
2009-01-20Very minor: added a missing {0} in a couple of Error messages.diva1-2/+2
2008-12-12* minor: remove mono compiler warningJustin Clarke Casey1-1/+1
2008-12-12* Deleted old EntiyList tests, added new EntityManager testsSean Dague1-19/+89
* Edited EntityManager to treat Exceptions From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2008-11-25Add copyright headers. Minor formatting cleanup.Jeff Ames1-9/+36
2008-11-25Update svn properties.Jeff Ames1-182/+182
2008-11-24* Swaps Scene.Entities Dictionary for EntityManager.Adam Frisby1-6/+26
* Important Changes: Scene.Entities is now IEnumerable directly. You do not need to use Entities.Values, you can Enumerate on .Entities directly. (So 'foreach Scene.Entities' vs 'foreach Scene.Entities.Values'). * Locks: Entities maintains it's own internal locking states. This means you do not need to lock entities anymore. I'll be going through and removing locks on it systematically.
2008-11-24* Makes EntityManager IEnumerable - meaning we should be good to go to ↵Adam Frisby1-2/+16
enable this.
2008-11-24* Adding EntityManager.csAdam Frisby1-0/+148
* Not referenced anywhere yet. * Designed to replace Dictionary<UUID,EntityBase> within SceneGraph.Entities * Allows indexed access and better handling of locks. * Someone needs to implement IEnumerable on this before we can switch it over.