From f1b088e623387986476794ce8344b97a6dcc78f3 Mon Sep 17 00:00:00 2001 From: Hugo Santos Date: Fri, 20 Apr 2007 23:18:06 +0000 Subject: [PATCH] fixed an issue with TCP where it possibly could not recover from a retransmission as the RCV.NXT was wrongly updated. When appending data we now set it to the sequence in the end of the receive queue. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20776 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp index 8a4a13ad19..67a9bb025a 100644 --- a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp +++ b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp @@ -1557,8 +1557,8 @@ TCPEndpoint::_WaitForEstablished(RecursiveLocker &locker, bigtime_t timeout) void TCPEndpoint::_AddData(tcp_segment_header &segment, net_buffer *buffer) { - fReceiveNext += buffer->size; fReceiveQueue.Add(buffer, segment.sequence); + fReceiveNext = fReceiveQueue.LastSequence(); TRACE(" _AddData(): adding data, receive next = %lu. Now have %lu bytes.", (uint32)fReceiveNext, fReceiveQueue.Available());