diff options
author | Melanie | 2009-09-21 18:11:40 +0100 |
---|---|---|
committer | Melanie | 2009-09-21 18:11:40 +0100 |
commit | bc9e4cfd961e6ed0184165e4f3cbb770b47a8dff (patch) | |
tree | 3c66054deffbafcc10354880d33676e03f9341a9 /OpenSim/Region | |
parent | Add a UUID param to NoEvents in PollServiceEventArgs to make it more generic (diff) | |
download | opensim-SC-bc9e4cfd961e6ed0184165e4f3cbb770b47a8dff.zip opensim-SC-bc9e4cfd961e6ed0184165e4f3cbb770b47a8dff.tar.gz opensim-SC-bc9e4cfd961e6ed0184165e4f3cbb770b47a8dff.tar.bz2 opensim-SC-bc9e4cfd961e6ed0184165e4f3cbb770b47a8dff.tar.xz |
Add a RequestID (UUID.Random()) to the PollRequest and pass it to all
even hander delegates.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs index 26eed42..55ea4b7 100644 --- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs | |||
@@ -326,7 +326,7 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
326 | } | 326 | } |
327 | } | 327 | } |
328 | 328 | ||
329 | public bool HasEvents(UUID agentID) | 329 | public bool HasEvents(UUID requestID, UUID agentID) |
330 | { | 330 | { |
331 | // Don't use this, because of race conditions at agent closing time | 331 | // Don't use this, because of race conditions at agent closing time |
332 | //Queue<OSD> queue = TryGetQueue(agentID); | 332 | //Queue<OSD> queue = TryGetQueue(agentID); |
@@ -343,14 +343,14 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
343 | return false; | 343 | return false; |
344 | } | 344 | } |
345 | 345 | ||
346 | public Hashtable GetEvents(UUID pAgentId, string request) | 346 | public Hashtable GetEvents(UUID requestID, UUID pAgentId, string request) |
347 | { | 347 | { |
348 | Queue<OSD> queue = TryGetQueue(pAgentId); | 348 | Queue<OSD> queue = TryGetQueue(pAgentId); |
349 | OSD element; | 349 | OSD element; |
350 | lock (queue) | 350 | lock (queue) |
351 | { | 351 | { |
352 | if (queue.Count == 0) | 352 | if (queue.Count == 0) |
353 | return NoEvents(pAgentId); | 353 | return NoEvents(requestID, pAgentId); |
354 | element = queue.Dequeue(); // 15s timeout | 354 | element = queue.Dequeue(); // 15s timeout |
355 | } | 355 | } |
356 | 356 | ||
@@ -398,7 +398,7 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
398 | //m_log.DebugFormat("[EVENTQUEUE]: sending response for {0} in region {1}: {2}", agentID, m_scene.RegionInfo.RegionName, responsedata["str_response_string"]); | 398 | //m_log.DebugFormat("[EVENTQUEUE]: sending response for {0} in region {1}: {2}", agentID, m_scene.RegionInfo.RegionName, responsedata["str_response_string"]); |
399 | } | 399 | } |
400 | 400 | ||
401 | public Hashtable NoEvents(UUID agentID) | 401 | public Hashtable NoEvents(UUID requestID, UUID agentID) |
402 | { | 402 | { |
403 | Hashtable responsedata = new Hashtable(); | 403 | Hashtable responsedata = new Hashtable(); |
404 | responsedata["int_response_code"] = 502; | 404 | responsedata["int_response_code"] = 502; |