diff options
author | Justin Clarke Casey | 2009-02-20 14:04:29 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2009-02-20 14:04:29 +0000 |
commit | 01f70de2ea562f78991084be01a83295f8f2be0b (patch) | |
tree | ff43706bf83039ce9d9c6c5bfffe56f2df1d1c86 /OpenSim/Framework/TaskInventoryDictionary.cs | |
parent | Revert previous commit (diff) | |
download | opensim-SC_OLD-01f70de2ea562f78991084be01a83295f8f2be0b.zip opensim-SC_OLD-01f70de2ea562f78991084be01a83295f8f2be0b.tar.gz opensim-SC_OLD-01f70de2ea562f78991084be01a83295f8f2be0b.tar.bz2 opensim-SC_OLD-01f70de2ea562f78991084be01a83295f8f2be0b.tar.xz |
* Consistently lock part.TaskInventory as pointed out in http://opensimulator.org/mantis/view.php?id=3159
* Not locking causes enumeration exceptions as described in this matis
* part.TaskInventory needs to be locked for every access as it's a dictionary
* Extra locking will hopefully not cause any major issues - in places where the enumeration of the dictionary performs other lock or long running operations, the dictionary is
cloned instead
Diffstat (limited to 'OpenSim/Framework/TaskInventoryDictionary.cs')
-rw-r--r-- | OpenSim/Framework/TaskInventoryDictionary.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Framework/TaskInventoryDictionary.cs b/OpenSim/Framework/TaskInventoryDictionary.cs index 4a1aa17..defac23 100644 --- a/OpenSim/Framework/TaskInventoryDictionary.cs +++ b/OpenSim/Framework/TaskInventoryDictionary.cs | |||
@@ -36,9 +36,9 @@ namespace OpenSim.Framework | |||
36 | { | 36 | { |
37 | /// <summary> | 37 | /// <summary> |
38 | /// A dictionary for task inventory. | 38 | /// A dictionary for task inventory. |
39 | /// | ||
40 | /// This class is not thread safe. Callers must synchronize on Dictionary methods. | ||
41 | /// </summary> | 39 | /// </summary> |
40 | /// This class is not thread safe. Callers must synchronize on Dictionary methods or Clone() this object before | ||
41 | /// iterating over it. | ||
42 | public class TaskInventoryDictionary : Dictionary<UUID, TaskInventoryItem>, | 42 | public class TaskInventoryDictionary : Dictionary<UUID, TaskInventoryItem>, |
43 | ICloneable, IXmlSerializable | 43 | ICloneable, IXmlSerializable |
44 | { | 44 | { |