From 81bb620d64256998b861bc677c2435bf64d04f44 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 21 Jan 2019 01:43:35 +0000 Subject: [PATCH] ubode try remove a legacy lock, that is nasty --- OpenSim/Region/PhysicsModules/Ode/ODEPrim.cs | 2 +- OpenSim/Region/PhysicsModules/Ode/OdeScene.cs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/Ode/ODEPrim.cs b/OpenSim/Region/PhysicsModules/Ode/ODEPrim.cs index b1c3b7c0c7..f63bf2cc8d 100644 --- a/OpenSim/Region/PhysicsModules/Ode/ODEPrim.cs +++ b/OpenSim/Region/PhysicsModules/Ode/ODEPrim.cs @@ -2665,7 +2665,7 @@ Console.WriteLine(" JointCreateFixed"); } */ - SafeNativeMethods.AllocateODEDataForThread(0U); + SafeNativeMethods.AllocateODEDataForThread(0); _position.X = Util.Clip(_position.X, 0.5f, _parent_scene.WorldExtents.X - 0.5f); _position.Y = Util.Clip(_position.Y, 0.5f, _parent_scene.WorldExtents.Y - 0.5f); diff --git a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs index 1b681051c7..c9bc754a4e 100644 --- a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs +++ b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs @@ -124,7 +124,7 @@ namespace OpenSim.Region.PhysicsModule.ODE /// /lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60) [0x7f03c9849c60] /// .../opensim/bin/libode-x86_64.so(_Z12dCollideCCTLP6dxGeomS0_iP12dContactGeomi+0x92) [0x7f03b44bcf82] /// - internal static Object UniversalColliderSyncObject = new Object(); +// internal static Object UniversalColliderSyncObject = new Object(); internal static Object SimulationLock = new Object(); /// @@ -498,6 +498,8 @@ namespace OpenSim.Region.PhysicsModule.ODE public OdeScene(Scene pscene, IConfigSource psourceconfig, string pname, string pversion) { + SafeNativeMethods.AllocateODEDataForThread(~0U); + m_config = psourceconfig; m_frameWorkScene = pscene; @@ -878,7 +880,7 @@ namespace OpenSim.Region.PhysicsModule.ODE { int count; - lock (OdeScene.UniversalColliderSyncObject) +// lock (OdeScene.UniversalColliderSyncObject) { // We do this inside the lock so that we don't count any delay in acquiring it if (CollectStats) @@ -2867,7 +2869,7 @@ namespace OpenSim.Region.PhysicsModule.ODE tempTick = tempTick2; } - lock(SimulationLock) +// lock(SimulationLock) SafeNativeMethods.WorldQuickStep(world, ODE_STEPSIZE); if (CollectStats)