diff options
author | Oren Hurvitz | 2014-06-26 16:16:51 +0300 |
---|---|---|
committer | Justin Clark-Casey | 2014-08-02 00:56:13 +0100 |
commit | 8920c65b9c21b379c4c9083c2917007b428340e5 (patch) | |
tree | bd42c2c2033b2859a516f062ade48c0eacf9a1e4 | |
parent | Close streams immediately when we finish using them (diff) | |
download | opensim-SC-8920c65b9c21b379c4c9083c2917007b428340e5.zip opensim-SC-8920c65b9c21b379c4c9083c2917007b428340e5.tar.gz opensim-SC-8920c65b9c21b379c4c9083c2917007b428340e5.tar.bz2 opensim-SC-8920c65b9c21b379c4c9083c2917007b428340e5.tar.xz |
Fixed the logic that decides if a packet was queued (it was reversed)
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index c0a4e56..2577a77 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -973,7 +973,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
973 | for (int i = 0; i < packetCount; i++) | 973 | for (int i = 0; i < packetCount; i++) |
974 | { | 974 | { |
975 | byte[] data = datas[i]; | 975 | byte[] data = datas[i]; |
976 | |||
977 | if (!SendPacketData(udpClient, data, packet.Type, category, method)) | 976 | if (!SendPacketData(udpClient, data, packet.Type, category, method)) |
978 | packetQueued = true; | 977 | packetQueued = true; |
979 | } | 978 | } |
@@ -981,7 +980,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
981 | else | 980 | else |
982 | { | 981 | { |
983 | byte[] data = packet.ToBytes(); | 982 | byte[] data = packet.ToBytes(); |
984 | packetQueued = SendPacketData(udpClient, data, packet.Type, category, method); | 983 | if (!SendPacketData(udpClient, data, packet.Type, category, method)) |
984 | packetQueued = true; | ||
985 | } | 985 | } |
986 | 986 | ||
987 | PacketPool.Instance.ReturnPacket(packet); | 987 | PacketPool.Instance.ReturnPacket(packet); |
@@ -1065,8 +1065,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1065 | // If a Linden Lab 1.23.5 client receives an update packet after a kill packet for an object, it will | 1065 | // If a Linden Lab 1.23.5 client receives an update packet after a kill packet for an object, it will |
1066 | // continue to display the deleted object until relog. Therefore, we need to always queue a kill object | 1066 | // continue to display the deleted object until relog. Therefore, we need to always queue a kill object |
1067 | // packet so that it isn't sent before a queued update packet. | 1067 | // packet so that it isn't sent before a queued update packet. |
1068 | bool requestQueue = type == PacketType.KillObject; | 1068 | bool forceQueue = (type == PacketType.KillObject); |
1069 | if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, requestQueue)) | 1069 | |
1070 | if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, forceQueue)) | ||
1070 | { | 1071 | { |
1071 | SendPacketFinal(outgoingPacket); | 1072 | SendPacketFinal(outgoingPacket); |
1072 | return true; | 1073 | return true; |
@@ -2305,4 +2306,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2305 | } | 2306 | } |
2306 | } | 2307 | } |
2307 | } | 2308 | } |
2308 | } \ No newline at end of file | 2309 | } |