From 3785f4f0f06d58d21dd2479dfe49988645a34513 Mon Sep 17 00:00:00 2001 From: Hugo Santos Date: Fri, 6 Apr 2007 02:02:18 +0000 Subject: [PATCH] check if receive timeout is infinite before doing the usual preparation for ABSOLUTE_TIMEOUT git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20594 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp | 4 +++- 1 file changed, 3 insertions(+), 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 9e8ea00d48..3ca56c7411 100644 --- a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp +++ b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp @@ -506,7 +506,9 @@ TCPEndpoint::ReadData(size_t numBytes, uint32 flags, net_buffer** _buffer) if (flags & MSG_WAITALL) dataNeeded = numBytes; - bigtime_t timeout = system_time() + socket->receive.timeout; + bigtime_t timeout = socket->receive.timeout; + if (timeout != B_INFINITE_TIMEOUT) + timeout += system_time(); while (fReceiveQueue.PushedData() == 0 && fReceiveQueue.Available() < dataNeeded