aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOren Hurvitz2014-06-26 16:16:51 +0300
committerJustin Clark-Casey2014-08-02 00:56:13 +0100
commit8920c65b9c21b379c4c9083c2917007b428340e5 (patch)
treebd42c2c2033b2859a516f062ade48c0eacf9a1e4
parentClose streams immediately when we finish using them (diff)
downloadopensim-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.cs11
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}