aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-10-18 20:58:59 +0100
committerJustin Clark-Casey (justincc)2011-10-18 20:58:59 +0100
commitf10a824e47549806c1fa647c4e9fba4c8cf6ad13 (patch)
tree5fa93d2a6ffdd5492fa7aeca6493d611069b1573 /OpenSim/Region/Physics
parentminor: method doc to explain a lock of OdeLock (diff)
downloadopensim-SC-f10a824e47549806c1fa647c4e9fba4c8cf6ad13.zip
opensim-SC-f10a824e47549806c1fa647c4e9fba4c8cf6ad13.tar.gz
opensim-SC-f10a824e47549806c1fa647c4e9fba4c8cf6ad13.tar.bz2
opensim-SC-f10a824e47549806c1fa647c4e9fba4c8cf6ad13.tar.xz
Remove unnecessary lock of OdeLock in OdePrim.changeadd()
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs31
1 files changed, 13 insertions, 18 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 1b9378a..3087f8d 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -1494,30 +1494,25 @@ Console.WriteLine("CreateGeom:");
1494 // m_log.Debug(m_localID); 1494 // m_log.Debug(m_localID);
1495 } 1495 }
1496 1496
1497 lock (_parent_scene.OdeLock)
1498 {
1499#if SPAM 1497#if SPAM
1500Console.WriteLine("changeadd 1"); 1498Console.WriteLine("changeadd 1");
1501#endif 1499#endif
1502 CreateGeom(m_targetSpace, mesh); 1500 CreateGeom(m_targetSpace, mesh);
1503
1504 if (prim_geom != IntPtr.Zero)
1505 {
1506 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1507 d.Quaternion myrot = new d.Quaternion();
1508 myrot.X = _orientation.X;
1509 myrot.Y = _orientation.Y;
1510 myrot.Z = _orientation.Z;
1511 myrot.W = _orientation.W;
1512 d.GeomSetQuaternion(prim_geom, ref myrot);
1513 }
1514 1501
1515 if (IsPhysical && Body == IntPtr.Zero) 1502 if (prim_geom != IntPtr.Zero)
1516 { 1503 {
1517 enableBody(); 1504 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1518 } 1505 d.Quaternion myrot = new d.Quaternion();
1506 myrot.X = _orientation.X;
1507 myrot.Y = _orientation.Y;
1508 myrot.Z = _orientation.Z;
1509 myrot.W = _orientation.W;
1510 d.GeomSetQuaternion(prim_geom, ref myrot);
1519 } 1511 }
1520 1512
1513 if (IsPhysical && Body == IntPtr.Zero)
1514 enableBody();
1515
1521 changeSelectedStatus(); 1516 changeSelectedStatus();
1522 1517
1523 m_taintadd = false; 1518 m_taintadd = false;