From e3a3184700c4b977ba17841fc7a1e6f10c088e72 Mon Sep 17 00:00:00 2001 From: sschocke_cp <7f003704bc94ef3acf0afcda2bf5f827e6e21455CS9agd82> Date: Sun, 5 Apr 2009 08:49:40 +0000 Subject: [PATCH] Fixd a minor bug on the Incoming TCP connection side where the Connect callback was called before the client ACKed the connection --- source/Cosmos/Cosmos.System/Network/TCPIPStack.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/Cosmos/Cosmos.System/Network/TCPIPStack.cs b/source/Cosmos/Cosmos.System/Network/TCPIPStack.cs index e39831e72..7882f1ec3 100644 --- a/source/Cosmos/Cosmos.System/Network/TCPIPStack.cs +++ b/source/Cosmos/Cosmos.System/Network/TCPIPStack.cs @@ -214,10 +214,6 @@ namespace Cosmos.Sys.Network ++connection.RemoteSequenceNumber, 0x12, 8192); TCPIP.IPv4OutgoingBuffer.AddPacket(syn_ack); - ClientConnected connectCallback = tcpListeners[tcp_packet.DestinationPort]; - - connectCallback(new TcpClient(connection)); - return; } } @@ -248,6 +244,10 @@ namespace Cosmos.Sys.Network { active_connection.LocalSequenceNumber++; active_connection.ConnectionState = TCP.TCPConnection.State.ESTABLISHED; + + ClientConnected connectCallback = tcpListeners[tcp_packet.DestinationPort]; + + connectCallback(new TcpClient(active_connection)); } } else if (active_connection.ConnectionState == TCP.TCPConnection.State.SYN_SENT)