aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
diff options
context:
space:
mode:
authorMelanie2009-10-07 01:45:49 +0100
committerMelanie2009-10-07 01:45:49 +0100
commit89d23a1fa23cb191e7ebde047311adcadf3b2e45 (patch)
tree461ef0fdd6640a17db5b3d989f0e02b1cf40252e /OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
parentRewrote parts of the code that were double-locking different objects. This is... (diff)
downloadopensim-SC-89d23a1fa23cb191e7ebde047311adcadf3b2e45.zip
opensim-SC-89d23a1fa23cb191e7ebde047311adcadf3b2e45.tar.gz
opensim-SC-89d23a1fa23cb191e7ebde047311adcadf3b2e45.tar.bz2
opensim-SC-89d23a1fa23cb191e7ebde047311adcadf3b2e45.tar.xz
Revert "Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed."
This reverts commit e992ca025571a891333a57012c2cd4419b6581e5.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs36
1 files changed, 16 insertions, 20 deletions
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
index df9473d..5b571c7 100644
--- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -122,13 +122,12 @@ namespace OpenSim.Region.Framework.Scenes
122 public bool InventoryDeQueueAndDelete() 122 public bool InventoryDeQueueAndDelete()
123 { 123 {
124 DeleteToInventoryHolder x = null; 124 DeleteToInventoryHolder x = null;
125 int left = 0;
126 125
127 try 126 try
128 { 127 {
129 lock (m_inventoryDeletes) 128 lock (m_inventoryDeletes)
130 { 129 {
131 left = m_inventoryDeletes.Count; 130 int left = m_inventoryDeletes.Count;
132 if (left > 0) 131 if (left > 0)
133 { 132 {
134 x = m_inventoryDeletes.Dequeue(); 133 x = m_inventoryDeletes.Dequeue();
@@ -137,26 +136,23 @@ namespace OpenSim.Region.Framework.Scenes
137 m_inventoryDeletes.Enqueue(x); 136 m_inventoryDeletes.Enqueue(x);
138 return true; 137 return true;
139 } 138 }
140 }
141 }
142 139
143 if (left > 0) 140 m_log.DebugFormat(
144 { 141 "[SCENE]: Sending object to user's inventory, {0} item(s) remaining.", left);
145 m_log.DebugFormat( 142
146 "[SCENE]: Sending object to user's inventory, {0} item(s) remaining.", left); 143 try
147 144 {
148 try 145 m_scene.DeleteToInventory(x.action, x.folderID, x.objectGroup, x.remoteClient);
149 { 146 if (x.permissionToDelete)
150 m_scene.DeleteToInventory(x.action, x.folderID, x.objectGroup, x.remoteClient); 147 m_scene.DeleteSceneObject(x.objectGroup, false);
151 if (x.permissionToDelete) 148 }
152 m_scene.DeleteSceneObject(x.objectGroup, false); 149 catch (Exception e)
153 } 150 {
154 catch (Exception e) 151 m_log.DebugFormat("Exception background sending object: " + e);
155 { 152 }
156 m_log.DebugFormat("Exception background sending object: " + e); 153
154 return true;
157 } 155 }
158
159 return true;
160 } 156 }
161 } 157 }
162 catch (Exception e) 158 catch (Exception e)