aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorRobert Adams2012-10-29 14:30:16 -0700
committerRobert Adams2012-11-03 21:14:25 -0700
commitdae038a117c3110970d6fe0b743e20f342df2269 (patch)
tree035a35340a066b8b9f23a78399effd776332b809 /OpenSim/Region
parentBulletSim: add definitions for linkset collision mask (diff)
downloadopensim-SC-dae038a117c3110970d6fe0b743e20f342df2269.zip
opensim-SC-dae038a117c3110970d6fe0b743e20f342df2269.tar.gz
opensim-SC-dae038a117c3110970d6fe0b743e20f342df2269.tar.bz2
opensim-SC-dae038a117c3110970d6fe0b743e20f342df2269.tar.xz
BulletSim: fix problem with multiple linksets stepping on each other if they are built at the same time.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index cb52937..c27b5f0 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -578,12 +578,12 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
578 } 578 }
579 } 579 }
580 580
581 ProcessPostStepTaints();
582
581 // This causes the unmanaged code to output ALL the values found in ALL the objects in the world. 583 // This causes the unmanaged code to output ALL the values found in ALL the objects in the world.
582 // Only enable this in a limited test world with few objects. 584 // Only enable this in a limited test world with few objects.
583 // BulletSimAPI.DumpAllInfo2(World.ptr); // DEBUG DEBUG DEBUG 585 // BulletSimAPI.DumpAllInfo2(World.ptr); // DEBUG DEBUG DEBUG
584 586
585 ProcessPostStepTaints();
586
587 // The physics engine returns the number of milliseconds it simulated this call. 587 // The physics engine returns the number of milliseconds it simulated this call.
588 // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS. 588 // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS.
589 // We multiply by 55 to give a recognizable running rate (55 or less). 589 // We multiply by 55 to give a recognizable running rate (55 or less).
@@ -766,9 +766,10 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
766 { 766 {
767 if (!m_initialized) return; 767 if (!m_initialized) return;
768 768
769 string uniqueIdent = ident + "-" + ID.ToString();
769 lock (_taintLock) 770 lock (_taintLock)
770 { 771 {
771 _postTaintOperations[ident] = new TaintCallbackEntry(ident + "-" + ID.ToString(), callback); 772 _postTaintOperations[uniqueIdent] = new TaintCallbackEntry(uniqueIdent, callback);
772 } 773 }
773 774
774 return; 775 return;