svn commit: r248534 - in head: lib/libc/sys share/man/man4 sys/kern sys/sys

Jilles Tjoelker jilles at stack.nl
Wed Mar 20 23:50:16 UTC 2013


On Wed, Mar 20, 2013 at 01:18:56PM +0400, Gleb Smirnoff wrote:
> On Tue, Mar 19, 2013 at 08:58:18PM +0000, Jilles Tjoelker wrote:
> J> Author: jilles
> J> Date: Tue Mar 19 20:58:17 2013
> J> New Revision: 248534
> J> URL: http://svnweb.freebsd.org/changeset/base/248534

> J> Log:
> J>   Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC.

> J>   This change allows creating file descriptors with close-on-exec set in some
> J>   situations. SOCK_CLOEXEC and SOCK_NONBLOCK can be OR'ed in socket() and
> J>   socketpair()'s type parameter, and MSG_CMSG_CLOEXEC to recvmsg() makes file
> J>   descriptors (SCM_RIGHTS) atomically close-on-exec.

> J>   The numerical values for SOCK_CLOEXEC and SOCK_NONBLOCK are as in NetBSD.
> J>   MSG_CMSG_CLOEXEC is the first free bit for MSG_*.

> J>   The SOCK_* flags are not passed to MAC because this may cause incorrect
> J>   failures and can be done later via fcntl() anyway. On the other hand, audit
> J>   is expected to cope with the new flags.

> J>   For MSG_CMSG_CLOEXEC, unp_externalize() is extended to take a flags
> J>   argument.

> IMO, it won't hurt if changes like this (bringing in new functionality)
> would bump __FreeBSD_version.

This change can be detected via the new #defines, and I plan to add
similar changes in the near future (see the hackers@ mail about this
patch; some of them cannot be detected via the preprocessor or even at
compile time). Therefore, I think a __FreeBSD_version bump is not yet
appropriate.

-- 
Jilles Tjoelker


More information about the svn-src-all mailing list