Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!dimacs.rutgers.edu!rutgers!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.unix.internals Subject: Re: Regular pipe vs. Named Pipe Message-ID: <2107.Jun1421.52.0991@kramden.acf.nyu.edu> Date: 14 Jun 91 21:52:09 GMT References: <2736@root44.co.uk> <25101:Jun1217:29:0291@kramden.acf.nyu.edu> <1991Jun13.143802.3600@chinet.chi.il.us> Organization: IR Lines: 22 In article <1991Jun13.143802.3600@chinet.chi.il.us> les@chinet.chi.il.us (Leslie Mikesell) writes: > In article <25101:Jun1217:29:0291@kramden.acf.nyu.edu> brnstnd@kramden.acf.nyu.edu (Dan Bernstein) 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. > Does "anything" include open()? Yes. System V, BSD, and POSIX all disagree on the blocking behavior of opening named pipes in various modes, on their behavior with multiple readers and writers, and on the effects of close(). > And by more machines, do you mean > more types of machine or more existing machines? Both. Most types of machines support sockets; most machines support message queues. Most types of machines do not support named pipes. Now that several vendors offer System V-based POSIX systems, you can't even write named pipe code that works on all System V machines. ---Dan