diff options
author | Melanie | 2012-08-29 11:45:28 +0200 |
---|---|---|
committer | Melanie | 2012-08-29 11:45:28 +0200 |
commit | 74465df43f7ee92f44ba65c19c01e02fa1f13e98 (patch) | |
tree | dc3d5a7a065e8fd8ec68df4b89149178f77bac66 | |
parent | Remove Justin's addition to avoid sending incoming packets to inactive clients (diff) | |
download | opensim-SC_OLD-74465df43f7ee92f44ba65c19c01e02fa1f13e98.zip opensim-SC_OLD-74465df43f7ee92f44ba65c19c01e02fa1f13e98.tar.gz opensim-SC_OLD-74465df43f7ee92f44ba65c19c01e02fa1f13e98.tar.bz2 opensim-SC_OLD-74465df43f7ee92f44ba65c19c01e02fa1f13e98.tar.xz |
Fix issue with the quit packet being stuck int he queue and a one packet delay.
Also fix semaphore excetion caused by enqueueing while dequque is taking place.
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index c817e44..75a47d5 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1606,10 +1606,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1606 | else | 1606 | else |
1607 | res = m_lowQueue.Dequeue(); | 1607 | res = m_lowQueue.Dequeue(); |
1608 | 1608 | ||
1609 | if (m_highQueue.Count == 0 || m_lowQueue.Count == 0) | 1609 | if (m_highQueue.Count == 0 && m_lowQueue.Count == 0) |
1610 | return true; | 1610 | return true; |
1611 | 1611 | ||
1612 | m_s.Release(); | 1612 | try |
1613 | { | ||
1614 | m_s.Release(); | ||
1615 | } | ||
1616 | catch | ||
1617 | { | ||
1618 | } | ||
1613 | 1619 | ||
1614 | return true; | 1620 | return true; |
1615 | } | 1621 | } |