aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-21 01:07:40 -0700
committerJohn Hurliman2009-10-21 01:07:40 -0700
commitc0c845aea462ea7b15580c72f5513e5e1ef02030 (patch)
treeaa9ec4f34c0a58af271e720c79071d85cd745e22
parentCommitting Jim's optimization to replace the 20ms sleep in outgoing packet ha... (diff)
downloadopensim-SC_OLD-c0c845aea462ea7b15580c72f5513e5e1ef02030.zip
opensim-SC_OLD-c0c845aea462ea7b15580c72f5513e5e1ef02030.tar.gz
opensim-SC_OLD-c0c845aea462ea7b15580c72f5513e5e1ef02030.tar.bz2
opensim-SC_OLD-c0c845aea462ea7b15580c72f5513e5e1ef02030.tar.xz
Fixed the way OnQueueEmpty is called to prevent simultaneous calls for the same category
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index b9d2c15..ca9925c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -541,7 +541,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
541 if (throttleIndex > 0) 541 if (throttleIndex > 0)
542 { 542 {
543 if (!m_onQueueEmptyRunning[throttleIndex]) 543 if (!m_onQueueEmptyRunning[throttleIndex])
544 {
545 m_onQueueEmptyRunning[throttleIndex] = true;
544 Util.FireAndForget(FireQueueEmpty, throttleIndex); 546 Util.FireAndForget(FireQueueEmpty, throttleIndex);
547 }
545 } 548 }
546 } 549 }
547 550
@@ -559,14 +562,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
559 562
560 if (callback != null) 563 if (callback != null)
561 { 564 {
562 if (!m_onQueueEmptyRunning[i]) 565 try { callback(type); }
563 { 566 catch (Exception e) { m_log.Error("[LLUDPCLIENT]: OnQueueEmpty(" + type + ") threw an exception: " + e.Message, e); }
564 m_onQueueEmptyRunning[i] = true;
565 try { callback(type); }
566 catch (Exception e) { m_log.Error("[LLUDPCLIENT]: OnQueueEmpty(" + type + ") threw an exception: " + e.Message, e); }
567 m_onQueueEmptyRunning[i] = false;
568 }
569 } 567 }
568
569 m_onQueueEmptyRunning[i] = false;
570 } 570 }
571 } 571 }
572} 572}