ubode try remove a legacy lock, that is nasty

0.9.1.0-post-fixes
UbitUmarov 2019-01-21 01:43:35 +00:00
parent 3897774424
commit 81bb620d64
2 changed files with 6 additions and 4 deletions

View File

@ -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);

View File

@ -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]
/// </remarks>
internal static Object UniversalColliderSyncObject = new Object();
// internal static Object UniversalColliderSyncObject = new Object();
internal static Object SimulationLock = new Object();
/// <summary>
@ -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)