aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs23
1 files changed, 17 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
index 3071110..94f7214 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
@@ -389,12 +389,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP
389 389
390 if ((q.Count == 0) && (throttle.UnderLimit())) 390 if ((q.Count == 0) && (throttle.UnderLimit()))
391 { 391 {
392 Monitor.Enter(this); 392 try
393 throttle.Add(item.Packet.ToBytes().Length); 393 {
394 TotalThrottle.Add(item.Packet.ToBytes().Length); 394 Monitor.Enter(this);
395 SendQueue.Enqueue(item); 395 throttle.Add(item.Packet.ToBytes().Length);
396 Monitor.Pulse(this); 396 TotalThrottle.Add(item.Packet.ToBytes().Length);
397 Monitor.Exit(this); 397 SendQueue.Enqueue(item);
398 }
399 catch (Exception e)
400 {
401 // Probably a serialization exception
402 m_log.WarnFormat("ThrottleCheck: {0}", e.ToString());
403 }
404 finally
405 {
406 Monitor.Pulse(this);
407 Monitor.Exit(this);
408 }
398 } 409 }
399 else 410 else
400 { 411 {