svn commit: r323177 - in head: sys/compat/cloudabi sys/contrib/cloudabi usr.bin/truss

Jilles Tjoelker jilles at stack.nl
Fri Sep 15 11:58:22 UTC 2017


On Tue, Sep 05, 2017 at 07:46:45AM +0000, Ed Schouten wrote:
> Author: ed
> Date: Tue Sep  5 07:46:45 2017
> New Revision: 323177
> URL: https://svnweb.freebsd.org/changeset/base/323177

> Log:
>   Merge pipes and socket pairs.

>   Now that CloudABI's sockets API has been changed to be addressless and
>   only connected socket instances are used (e.g., socket pairs), they have
>   become fairly similar to pipes. The only differences on CloudABI is that
>   socket pairs additionally support shutdown(), send() and recv().

>   To simplify the ABI, we've therefore decided to remove pipes as a
>   separate file descriptor type and just let pipe() return a socket pair
>   of type SOCK_STREAM. S_ISFIFO() and S_ISSOCK() are now defined
>   identically.

Although this is correct from a functionality point of view (S_IFIFO and
S_IFSOCK are probably expected to be different in a POSIX context, but
this is unlikely to break anything that is not already broken), it is a
partial reversal of previous changes to FreeBSD that created separate
implementations for pipes (first unnamed pipes in 1996, later fifos in
2012 r232055). The main reason for these changes was performance.

Unfortunately, I do not have concrete benchmarks in the CloudABI
context.

-- 
Jilles Tjoelker


More information about the svn-src-head mailing list