Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jan 1998 19:45:37 -0600 (CST)
From:      Alex Nash <nash@mcs.net>
To:        nathan@rtfm.net
Cc:        freebsd-current@freebsd.org
Subject:   Re: Non-Posixly Correct pipe() and socketpair()
Message-ID:  <199801100145.TAA25178@nash.pr.mcs.net>
In-Reply-To: <19980109191945.48808@rtfm.net>

index | next in thread | previous in thread | raw e-mail

On  9 Jan, Nathan Dorfman wrote:
> Here's a quick question that arose in #unix yesterday. Why does FreeBSD
> have a bi-directional pipe() call when socketpair() does exactly this?
> What benefits does making pipe() bi as well have? Doesn't this break POSIX
> and introduce a new generation of Berkeleyisms?

IEEE 1003.1 1996 states the following in section B.6.1:

   An implementation that fails write() operations on fildes[0] or
   read()s on fildes[1] is not required.  Historical implementations
   (Version 7 and System V) return the error [EBADF] in such cases.
   This allows implementations to set up a second pipe for full
   duplex operation at the same time.  A conforming application that
   uses the pipe() function as described in POSIX.1 will succeed
   whether this second pipe is present or not.

Alex



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801100145.TAA25178>