hurd: Implement MSG_CMSG_CLOEXEC
commit5fa8945605fc0fe8df5162e0945518c061dc5ba4
authorSergey Bugaev <bugaevc@gmail.com>
Sun, 23 Apr 2023 16:05:46 +0000 (23 19:05 +0300)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 24 Apr 2023 21:09:50 +0000 (24 23:09 +0200)
tree7e9195da12e3a1e0584e8b6af1911ea66c1e9c84
parent0822e3552a787dd6ae352c3eb65783dfed2f4238
hurd: Implement MSG_CMSG_CLOEXEC

This is a new flag that can be passed to recvmsg () to make it
atomically set the CLOEXEC flag on all the file descriptors received
using the SCM_RIGHTS mechanism. This is useful for all the same reasons
that the other XXX_CLOEXEC flags are useful: namely, it provides
atomicity with respect to another thread of the same process calling
(fork and then) exec at the same time.

This flag is already supported on Linux and FreeBSD. The flag's value,
0x40000, is choosen to match FreeBSD's.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230423160548.126576-2-bugaevc@gmail.com>
sysdeps/mach/hurd/bits/socket.h
sysdeps/mach/hurd/recvmsg.c