aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-09-09 16:20:19 -0400
committerTeravus Ovares (Dan Olivares)2009-09-09 16:20:19 -0400
commitc605509da3a690d4050c48418111d7f29f7be9b4 (patch)
treee2e76c5e521577c9be9002530d289a4b346f2907 /OpenSim/Region/Framework/Scenes
parentMerge branch 'master' of ssh://MyConnection/var/git/opensim (diff)
downloadopensim-SC_OLD-c605509da3a690d4050c48418111d7f29f7be9b4.zip
opensim-SC_OLD-c605509da3a690d4050c48418111d7f29f7be9b4.tar.gz
opensim-SC_OLD-c605509da3a690d4050c48418111d7f29f7be9b4.tar.bz2
opensim-SC_OLD-c605509da3a690d4050c48418111d7f29f7be9b4.tar.xz
* Lock timers when Calling Start() and Stop() when the Thread Context is murky. This affects Mono only.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
2 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
index f8208ec..7ac1e7e 100644
--- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -78,7 +78,8 @@ namespace OpenSim.Region.Framework.Scenes
78 bool permissionToDelete) 78 bool permissionToDelete)
79 { 79 {
80 if (Enabled) 80 if (Enabled)
81 m_inventoryTicker.Stop(); 81 lock (m_inventoryTicker)
82 m_inventoryTicker.Stop();
82 83
83 lock (m_inventoryDeletes) 84 lock (m_inventoryDeletes)
84 { 85 {
@@ -93,7 +94,8 @@ namespace OpenSim.Region.Framework.Scenes
93 } 94 }
94 95
95 if (Enabled) 96 if (Enabled)
96 m_inventoryTicker.Start(); 97 lock (m_inventoryTicker)
98 m_inventoryTicker.Start();
97 99
98 // Visually remove it, even if it isnt really gone yet. This means that if we crash before the object 100 // Visually remove it, even if it isnt really gone yet. This means that if we crash before the object
99 // has gone to inventory, it will reappear in the region again on restart instead of being lost. 101 // has gone to inventory, it will reappear in the region again on restart instead of being lost.
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 40e7471..b0d279c 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3762,6 +3762,8 @@ if (m_shape != null) {
3762 lPos = AbsolutePosition; 3762 lPos = AbsolutePosition;
3763 } 3763 }
3764 3764
3765 // Causes this thread to dig into the Client Thread Data.
3766 // Remember your locking here!
3765 remoteClient.SendPrimTerseUpdate(m_regionHandle, 3767 remoteClient.SendPrimTerseUpdate(m_regionHandle,
3766 (ushort)(m_parentGroup.GetTimeDilation() * 3768 (ushort)(m_parentGroup.GetTimeDilation() *
3767 (float)ushort.MaxValue), LocalId, lPos, 3769 (float)ushort.MaxValue), LocalId, lPos,