diff options
author | UbitUmarov | 2014-08-10 14:49:58 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-10 14:49:58 +0100 |
commit | ebc18a80bf87ca204c5d590bec0b2415f010ff83 (patch) | |
tree | afd607beef9b3d07ef769c8d52e2da589fa4a0a9 /OpenSim | |
parent | Merge branch 'master' into ubitworkmaster (diff) | |
download | opensim-SC_OLD-ebc18a80bf87ca204c5d590bec0b2415f010ff83.zip opensim-SC_OLD-ebc18a80bf87ca204c5d590bec0b2415f010ff83.tar.gz opensim-SC_OLD-ebc18a80bf87ca204c5d590bec0b2415f010ff83.tar.bz2 opensim-SC_OLD-ebc18a80bf87ca204c5d590bec0b2415f010ff83.tar.xz |
OutgoingPacketHandler can not be paced by hits on SendPacket()
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index a3fdae1..e317fc0 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1418,6 +1418,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1418 | queue.Enqueue(buffer); | 1418 | queue.Enqueue(buffer); |
1419 | return; | 1419 | return; |
1420 | } | 1420 | } |
1421 | |||
1421 | else if (packet.Type == PacketType.CompleteAgentMovement) | 1422 | else if (packet.Type == PacketType.CompleteAgentMovement) |
1422 | { | 1423 | { |
1423 | // Send ack straight away to let the viewer know that we got it. | 1424 | // Send ack straight away to let the viewer know that we got it. |
@@ -2150,13 +2151,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2150 | 2151 | ||
2151 | // If nothing was sent, sleep for the minimum amount of time before a | 2152 | // If nothing was sent, sleep for the minimum amount of time before a |
2152 | // token bucket could get more tokens | 2153 | // token bucket could get more tokens |
2153 | //if (!m_packetSent) | 2154 | |
2154 | // Thread.Sleep((int)TickCountResolution); | 2155 | if (!m_packetSent) |
2156 | // Thread.Sleep((int)TickCountResolution); | ||
2157 | Thread.Sleep(20); // be independent of TickCountResolution | ||
2155 | // | 2158 | // |
2156 | // Instead, now wait for data present to be explicitly signalled. Evidence so far is that with | 2159 | // Instead, now wait for data present to be explicitly signalled. Evidence so far is that with |
2157 | // modern mono it reduces CPU base load since there is no more continuous polling. | 2160 | // modern mono it reduces CPU base load since there is no more continuous polling. |
2158 | if (!m_packetSent) | 2161 | // this misses heavy load cases |
2159 | m_dataPresentEvent.WaitOne(100); | 2162 | // if (!m_packetSent) |
2163 | // m_dataPresentEvent.WaitOne(100); | ||
2160 | 2164 | ||
2161 | Watchdog.UpdateThread(); | 2165 | Watchdog.UpdateThread(); |
2162 | } | 2166 | } |