Regular pipe vs. Named Pipe

Dan Bernstein brnstnd at kramden.acf.nyu.edu
Sat Jun 15 09:02:47 AEST 1991


In article <1991Jun13.184737.6343 at eci386.uucp> woods at eci386.UUCP (Greg A. Woods) writes:
> > I meant what I wrote. A program which supports message queues and
> > UNIX-domain sockets will work correctly on far more machines than a
> > program which supports named pipes. In fact, a program which does
> > anything with named pipes that couldn't be done with pipes is almost
> > certainly going to fail on one of (A) SunOS; (B) Ultrix; (C) SVR4.
> GRRR!  You should really read some market data Dan.  There are
> probably several million more "machines" out there running with Named
> Pipes and no Sockets than there are the other way 'round.

And there are several hundred thousand more machines out there---in all,
supporting many million more users---with either sockets or message
queues than there are with named pipes. I didn't say just sockets.

> You can blame whoever you want for
> not keeping BSD UNIX in line with AT&T's versions.

I'm not interested in these religious arguments about whether BSD UNIX
is ``real'' UNIX or not. The fact is that ``UNIX'', in any academic or
corporate environment, includes the offerings from many vendors,
including some pure-BSD as well as pure-AT&T systems.

> FIFO's have *exactly* the same
> semantics as pipes created by pipe(2), as I believe they "always" have.

On some machines, as I outlined near the beginning of this thread, pipes
and named pipes do indeed share semantics. On some machines they do not.
Anyway, DEC introduced its own changes when it picked up ``ports'' and
POSIX introduced several more, so even if pipes and named pipes work the
same on one machine, named pipes do not work portably across machines.

---Dan



More information about the Comp.unix.internals mailing list