History log of /haiku/src/add-ons/kernel/network/protocols/unix/UnixDatagramEndpoint.cpp
Revision Date Author Comments
# 973f6d33 22-Nov-2023 Augustin Cavalier <waddlesplash@gmail.com>

network: Migrate SIGPIPE generation into the socket module.

This removes the burden of determining whether to and then
actually sending SIGPIPE from the protocol modules, meaning
the MSG_NOSIGNAL flag can now be implemented entirely in
the socket module and not even passed further down the chain.

Change-Id: I9ba976c4aff60d533cb4b390bbba1560c0de423f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7124
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 3bae07fc 15-Nov-2023 Augustin Cavalier <waddlesplash@gmail.com>

protocols/unix: Implement MSG_NOSIGNAL.

Same logic as in the TCP protocol module.

This fixes a regression from hrev57383: curl now works
again. (Perhaps it shouldn't be called a "regression",
though, but instead an uncovered bug / missing feature.)

Fixes #18666.


# 74a44f5a 14-Nov-2023 Augustin Cavalier <waddlesplash@gmail.com>

protocols/unix: Return EOPNOTSUPP when unhandled flags are specified.

Fixes the "bug" part of #18653 (however the flags still need to
actually be implemented.)

Change-Id: Icd296af8b409416317ba3d02735504729949fd08
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7109
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# b761f925 09-Aug-2023 Jérôme Duval <jerome.duval@gmail.com>

unix: respect MSG_DONTWAIT on recvmsg

fix #18548

Change-Id: I33f502c2a376be6dbdf913f9613aab9d4c5a3644
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6802
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 34874537 06-Aug-2023 Jérôme Duval <jerome.duval@gmail.com>

unix: respect MSG_DONTWAIT on sendmsg()

fix bug #18539

Change-Id: Id21362028287d1cbdac469226e6b52f4547a276f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6796
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 5590a819 03-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

network/protocols/unix: Recheck fShutdown{Read|Write} before socket notify.

They may have changed, and we must not use the socket object if they
are set.

Related to #18535.


# 967ab75d 03-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

network/protocols/unix: Fix UnixDatagramEndpoint::Close().

1. Set fShutdownRead & fShutdownWrite. This is necessary
because in Send(), there is a lock-unlock dance between the
source and target sockets which could potentially race with
some other thread closing the socket. The "shutdown" state
is checked before actually writing, and so we need to set it
here. Otherwise, the other thread could allocate a new receive
FIFO for us, which we do not want.

2. Don't return early when unbinding, but only if there's an
error (there shouldn't be.)

3. Merely ASSERT() in Free() that closing was already done
and nothing remains to be deallocated.

Should fix #18535.
unix_dgram_test still passes.


# abf8d2e2 02-Aug-2023 Trung Nguyen <trungnt282910@gmail.com>

unix: Report connected status to socket module

Report connected status to the socket module. Otherwise, operations
like `getpeername` would not work correctly.

Fixes #18534.

Change-Id: I99d047f0d7b4d442cc2b3ea9222b0d89d216c1ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6719
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# b7b57869 18-Jun-2023 Trung Nguyen <trungnt282910@gmail.com>

unix: Implement datagram sockets

Implement `SOCK_DGRAM` sockets for `AF_UNIX` family.

Change-Id: If3d6f408a7d881635ccf04b080391905fdc94b13
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6617
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>