diff options
author | Justin Clark-Casey (justincc) | 2013-06-05 22:20:48 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-06-05 22:20:48 +0100 |
commit | f41fc4eb25ade48a358511564f3911a4605c1c31 (patch) | |
tree | df8e2bd67efc677c2846d493539ae4b78ea3d055 /OpenSim/Region/Framework/Interfaces | |
parent | BulletSim: default PhysicsTimeStep to same as the simulator's (diff) | |
download | opensim-SC-f41fc4eb25ade48a358511564f3911a4605c1c31.zip opensim-SC-f41fc4eb25ade48a358511564f3911a4605c1c31.tar.gz opensim-SC-f41fc4eb25ade48a358511564f3911a4605c1c31.tar.bz2 opensim-SC-f41fc4eb25ade48a358511564f3911a4605c1c31.tar.xz |
Avoid a deadlock where a script can attempt to take a ScriptInstance.m_Scripts lock then a lock on SP.m_attachments whilst SP.MakeRootAgent() attempts to take in the opposite order.
This is because scripts (at least on XEngine) start unsuspended - deceptively the ResumeScripts() calls in various places in the code are actually completely redundant (and useless).
The solution chosen here is to use a copy of the SP attachments and not have the list locked whilst creating the scripts when an avatar enters the region.
This looks to address http://opensimulator.org/mantis/view.php?id=6557
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces')
0 files changed, 0 insertions, 0 deletions