[haiku-commits] Re: haiku: hrev49265 - src/add-ons/kernel/network/protocols/tcp headers/posix/sys

  • From: Jérôme Duval <jerome.duval@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 10 Jun 2015 17:51:14 +0200

Am 10.06.2015 5:40 nachm. schrieb <pulkomandy@xxxxxxxxxxxxx

diff --git a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp
b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp
index ce4769b..20261ca 100644
--- a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp
+++ b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp
@@ -785,8 +785,10 @@ TCPEndpoint::SendData(net_buffer *buffer)
MutexLocker lock(fLock);

TRACE("SendData(buffer %p, size %lu, flags %lx) [total %lu bytes,
has %lu]",
- buffer, buffer->size, buffer->flags, fSendQueue.Size(),
- fSendQueue.Free());
+ buffer, buffer->size, buffer->flags, fSendQueue.Size(),
+ fSendQueue.Free());
+
+ uint32 flags = buffer->flags;

if (fState == CLOSED)
return ENOTCONN;
@@ -794,12 +796,11 @@ TCPEndpoint::SendData(net_buffer *buffer)
return EDESTADDRREQ;
if (!is_writable(fState) && !is_establishing(fState)) {
// we only send signals when called from userland
- if (gStackModule->is_syscall())
+ if (gStackModule->is_syscall() && (flags & MSG_NOSIGNAL
!= 0))
send_signal(find_thread(NULL), SIGPIPE);

Isn't it reversed? I would have used == 0.

Bye,
Jérôme

Other related posts: