aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2010-09-28 02:22:32 +0200
committerMelanie2010-09-28 02:22:32 +0200
commit3d75e9addd50b9416a221282d7e24fc44ebda3a8 (patch)
tree7ebe486a1aa1b3ace65e4bd3e7ca8cbefa421055
parentTry to prevent threading issues in SP.SetAppearance by locking it (diff)
downloadopensim-SC_OLD-3d75e9addd50b9416a221282d7e24fc44ebda3a8.zip
opensim-SC_OLD-3d75e9addd50b9416a221282d7e24fc44ebda3a8.tar.gz
opensim-SC_OLD-3d75e9addd50b9416a221282d7e24fc44ebda3a8.tar.bz2
opensim-SC_OLD-3d75e9addd50b9416a221282d7e24fc44ebda3a8.tar.xz
Lock the iteration over the inventory items when saving script states
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs2
1 files changed, 2 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index c88dda6..522f75e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -1241,6 +1241,7 @@ namespace OpenSim.Region.Framework.Scenes
1241 if (engines == null) // No engine at all 1241 if (engines == null) // No engine at all
1242 return ret; 1242 return ret;
1243 1243
1244 Items.LockItemsForRead(true);
1244 foreach (TaskInventoryItem item in m_items.Values) 1245 foreach (TaskInventoryItem item in m_items.Values)
1245 { 1246 {
1246 if (item.InvType == (int)InventoryType.LSL) 1247 if (item.InvType == (int)InventoryType.LSL)
@@ -1268,6 +1269,7 @@ namespace OpenSim.Region.Framework.Scenes
1268 } 1269 }
1269 } 1270 }
1270 } 1271 }
1272 Items.LockItemsForRead(false);
1271 return ret; 1273 return ret;
1272 } 1274 }
1273 1275