aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
index 3eb2b5e..7d73b3e 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
@@ -204,7 +204,7 @@ namespace OpenSim.Region.ClientStack.Linden
204 204
205 private void ClientClosed(UUID AgentID, Scene scene) 205 private void ClientClosed(UUID AgentID, Scene scene)
206 { 206 {
207 //m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName); 207// m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName);
208 208
209 int count = 0; 209 int count = 0;
210 while (queues.ContainsKey(AgentID) && queues[AgentID].Count > 0 && count++ < 5) 210 while (queues.ContainsKey(AgentID) && queues[AgentID].Count > 0 && count++ < 5)
@@ -216,11 +216,13 @@ namespace OpenSim.Region.ClientStack.Linden
216 { 216 {
217 queues.Remove(AgentID); 217 queues.Remove(AgentID);
218 } 218 }
219
219 List<UUID> removeitems = new List<UUID>(); 220 List<UUID> removeitems = new List<UUID>();
220 lock (m_AvatarQueueUUIDMapping) 221 lock (m_AvatarQueueUUIDMapping)
221 { 222 {
222 foreach (UUID ky in m_AvatarQueueUUIDMapping.Keys) 223 foreach (UUID ky in m_AvatarQueueUUIDMapping.Keys)
223 { 224 {
225// m_log.DebugFormat("[EVENTQUEUE]: Found key {0} in m_AvatarQueueUUIDMapping while looking for {1}", ky, AgentID);
224 if (ky == AgentID) 226 if (ky == AgentID)
225 { 227 {
226 removeitems.Add(ky); 228 removeitems.Add(ky);
@@ -229,11 +231,13 @@ namespace OpenSim.Region.ClientStack.Linden
229 231
230 foreach (UUID ky in removeitems) 232 foreach (UUID ky in removeitems)
231 { 233 {
234 UUID eventQueueGetUuid = m_AvatarQueueUUIDMapping[ky];
232 m_AvatarQueueUUIDMapping.Remove(ky); 235 m_AvatarQueueUUIDMapping.Remove(ky);
233 MainServer.Instance.RemovePollServiceHTTPHandler("","/CAPS/EQG/" + ky.ToString() + "/");
234 }
235 236
237 MainServer.Instance.RemovePollServiceHTTPHandler("","/CAPS/EQG/" + eventQueueGetUuid.ToString() + "/");
238 }
236 } 239 }
240
237 UUID searchval = UUID.Zero; 241 UUID searchval = UUID.Zero;
238 242
239 removeitems.Clear(); 243 removeitems.Clear();
@@ -252,7 +256,6 @@ namespace OpenSim.Region.ClientStack.Linden
252 256
253 foreach (UUID ky in removeitems) 257 foreach (UUID ky in removeitems)
254 m_QueueUUIDAvatarMapping.Remove(ky); 258 m_QueueUUIDAvatarMapping.Remove(ky);
255
256 } 259 }
257 } 260 }
258 261