From 65a0f233b90e64968cafef95304745f433b6a22c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 10 Apr 2008 03:27:31 +0000 Subject: [PATCH] Looks like I had been fallen asleep before finishing the implementation. After successfully copying the data from the receive queue into a new buffer, we should actually return that buffer and update the queue size. recv() doesn't KDL anymore when reading less data than queued. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24885 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp b/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp index 03d698aa29..0fc09fb98b 100644 --- a/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp +++ b/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp @@ -89,7 +89,10 @@ UnixBufferQueue::Read(size_t size, net_buffer** _buffer) // remove the part we've copied gBufferModule->remove_header(buffer, size); - + + fSize -= size; + *_buffer = newBuffer; + return B_OK; }