Remove the SyncRoot locking from Scene which was only being done around the main physics loop and ScenePresence position and velocity setting
This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this). BSCharacter was already tainting.0.7.2-post-fixes
parent
dd3dc5cd91
commit
b720454950
|
@ -509,12 +509,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This gets locked so things stay thread safe.
|
|
||||||
public object SyncRoot
|
|
||||||
{
|
|
||||||
get { return m_sceneGraph.m_syncRoot; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public string DefaultScriptEngine
|
public string DefaultScriptEngine
|
||||||
{
|
{
|
||||||
get { return m_defaultScriptEngine; }
|
get { return m_defaultScriptEngine; }
|
||||||
|
|
|
@ -84,8 +84,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
protected int m_activeScripts = 0;
|
protected int m_activeScripts = 0;
|
||||||
protected int m_scriptLPS = 0;
|
protected int m_scriptLPS = 0;
|
||||||
|
|
||||||
protected internal object m_syncRoot = new object();
|
|
||||||
|
|
||||||
protected internal PhysicsScene _PhyScene;
|
protected internal PhysicsScene _PhyScene;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -186,8 +184,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="elapsed"></param>
|
/// <param name="elapsed"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected internal float UpdatePhysics(double elapsed)
|
protected internal float UpdatePhysics(double elapsed)
|
||||||
{
|
|
||||||
lock (m_syncRoot)
|
|
||||||
{
|
{
|
||||||
// Here is where the Scene calls the PhysicsScene. This is a one-way
|
// Here is where the Scene calls the PhysicsScene. This is a one-way
|
||||||
// interaction; the PhysicsScene cannot access the calling Scene directly.
|
// interaction; the PhysicsScene cannot access the calling Scene directly.
|
||||||
|
@ -204,10 +200,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// position).
|
// position).
|
||||||
//
|
//
|
||||||
// Therefore, JointMoved and JointDeactivated events will be fired as a result of the following Simulate().
|
// Therefore, JointMoved and JointDeactivated events will be fired as a result of the following Simulate().
|
||||||
|
|
||||||
return _PhyScene.Simulate((float)elapsed);
|
return _PhyScene.Simulate((float)elapsed);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
protected internal void UpdateScenePresenceMovement()
|
protected internal void UpdateScenePresenceMovement()
|
||||||
{
|
{
|
||||||
|
|
|
@ -515,7 +515,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
lock (m_scene.SyncRoot)
|
|
||||||
m_physicsActor.Position = value;
|
m_physicsActor.Position = value;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -568,7 +567,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
lock (m_scene.SyncRoot)
|
|
||||||
actor.Velocity = value;
|
actor.Velocity = value;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
Loading…
Reference in New Issue