diff options
author | Justin Clark-Casey (justincc) | 2011-10-18 20:58:59 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-10-18 20:58:59 +0100 |
commit | f10a824e47549806c1fa647c4e9fba4c8cf6ad13 (patch) | |
tree | 5fa93d2a6ffdd5492fa7aeca6493d611069b1573 /OpenSim/Region/Physics | |
parent | minor: method doc to explain a lock of OdeLock (diff) | |
download | opensim-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.cs | 31 |
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 |
1500 | Console.WriteLine("changeadd 1"); | 1498 | Console.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; |