
On 2008 Aug 15, at 9:34, Tony Finch wrote:
On Thu, 14 Aug 2008, Brandon S. Allbery KF8NH wrote:
Actually, while I'm not sure how Linux does it, on the *BSDs pipes are actually socketpairs.
Not any more. FreeBSD replaced the socketpair implementation with a faster one in 1996 and OpenBSD imported it soon after. NetBSD imported it in 2001 and Mac OS X in 10.4 (2005). Dragonfly BSD forked from FreeBSD after the new pipe code was introduced.
Hm. Somehow I missed that. In any case, the real point is that historically (the socketpair stuff goes back to 4.2BSD) pipes were often considered a special case of sockets, so documentation referring to pipes might well actually mean or include sockets. Someone will have to inspect the Linux splice() implementation to see if it actually works on sockets. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH