diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs index 11cfbd9..209ec36 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs | |||
@@ -745,37 +745,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
745 | } | 745 | } |
746 | 746 | ||
747 | // Actually make the byte array and send it | 747 | // Actually make the byte array and send it |
748 | try | 748 | byte[] sendbuffer = packet.ToBytes(); |
749 | { | ||
750 | byte[] sendbuffer = packet.ToBytes(); | ||
751 | 749 | ||
752 | if (packet.Header.Zerocoded) | 750 | if (packet.Header.Zerocoded) |
753 | { | 751 | { |
754 | int packetsize = Helpers.ZeroEncode(sendbuffer, | 752 | int packetsize = Helpers.ZeroEncode(sendbuffer, |
755 | sendbuffer.Length, m_ZeroOutBuffer); | 753 | sendbuffer.Length, m_ZeroOutBuffer); |
756 | m_PacketServer.SendPacketTo(m_ZeroOutBuffer, packetsize, | 754 | m_PacketServer.SendPacketTo(m_ZeroOutBuffer, packetsize, |
757 | SocketFlags.None, m_Client.CircuitCode); | 755 | SocketFlags.None, m_Client.CircuitCode); |
758 | } | ||
759 | else | ||
760 | { | ||
761 | // Need some extra space in case we need to add proxy | ||
762 | // information to the message later | ||
763 | Buffer.BlockCopy(sendbuffer, 0, m_ZeroOutBuffer, 0, | ||
764 | sendbuffer.Length); | ||
765 | m_PacketServer.SendPacketTo(m_ZeroOutBuffer, | ||
766 | sendbuffer.Length, SocketFlags.None, m_Client.CircuitCode); | ||
767 | } | ||
768 | |||
769 | PacketPool.Instance.ReturnPacket(packet); | ||
770 | } | 756 | } |
771 | catch (Exception e) | 757 | else |
772 | { | 758 | { |
773 | m_log.Warn("[client]: " + | 759 | // Need some extra space in case we need to add proxy |
774 | "PacketHandler:ProcessOutPacket() - WARNING: Socket "+ | 760 | // information to the message later |
775 | "exception occurred - killing thread"); | 761 | Buffer.BlockCopy(sendbuffer, 0, m_ZeroOutBuffer, 0, |
776 | m_log.Error(e.ToString()); | 762 | sendbuffer.Length); |
777 | m_Client.Close(true); | 763 | m_PacketServer.SendPacketTo(m_ZeroOutBuffer, |
764 | sendbuffer.Length, SocketFlags.None, m_Client.CircuitCode); | ||
778 | } | 765 | } |
766 | |||
767 | PacketPool.Instance.ReturnPacket(packet); | ||
779 | } | 768 | } |
780 | } | 769 | } |
781 | } | 770 | } |