diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | 11 |
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 | ||