The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] First appearance of named pipes
@ 2020-03-06 22:44 Noel Chiappa
  2020-03-07 12:17 ` Paul Ruizendaal
  2020-03-09 23:22 ` [TUHS] First appearance of named pipes Grant Taylor via TUHS
  0 siblings, 2 replies; 39+ messages in thread
From: Noel Chiappa @ 2020-03-06 22:44 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Paul Ruizendaal

    > The paper is from late 1981. ... When did FIFO's become a
    > standard Unix feature?

Err, V4? :-) At least, that's when pipes arrived (I think - we don't have V4
sources, but there are indications that's when they appeared), and a pipe is a
FIFO. RAND ports just allowed (effectively) a pipe to have a name in the file
system.

The implementation of both is pretty straight-forward. A pipe is just a file
which has a maximum length, after which the writer is blocked. A port is
just a pipe (it uses the pipe code) whose inode appears in the file system.

    > From: Clem Cole

    > I think the code is on one of the 'USENIX' tapes in Warren's archives.

Doc is here:

  https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/doc/ipc

and sources for all that are here:

 https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/dmr
 https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/ken

(port.c is in 'dmr', not 'ken'where it should be).

	Noel

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [TUHS] sockets (was Re:  First appearance of named pipes)
@ 2020-03-08 23:09 Norman Wilson
  2020-03-09 17:09 ` Tony Finch
  0 siblings, 1 reply; 39+ messages in thread
From: Norman Wilson @ 2020-03-08 23:09 UTC (permalink / raw)
  To: tuhs

Derek Fawcus:

  Yeah - I always found that a bit weird, having to use socketpair()
  to get a bidirectional "pipe".

In the Research system, pipes became bidirectional when
they became streams.  That happened slightly before my
time, but so far as I know it broke absolutely nothing.

Some time in the late 1980s, the System V people wanted
to allow pipes to be streams, but were worried about the
bidirectionality.  They proposed to have a new system call
to make a bidirectional pipe.

I attended a meeting with the relevant programmers and
program manager to find out why they thought pipes couldn't
just be bi-directional, as they had been without fuss in
the Research system for some years.  They agreed with me
that that was how it ought to be; the trouble was that
System V releases all had to pass an official System V
Verification Suite (reasonable enough), and that suite
checked not only that you could read the one pipe file
descriptor and write the other, but that you couldn't
do it the wrong way.

Wait a minute, I said.  I'm pretty sure that's not how
the official System V Interface Description reads.  Anyone
got a current copy handy?

We found one, and we looked, and sure enough, the official
verification suite was wrong.  The specification said
that data written to fd[1] must be readable from fd[0],
but nothing about the other direction: full-duplex pipes
were not required but neither were they outlawed!

The programming group was delighted: I'd given them the
ammo they needed to do it right (make pipes streams, and
make them full-duplex by default).  I believe that is
how it came out, though the only reference I have is
Solaris 10, where the manual page specifically says
that what pipe(2) makes is full-duplex (and a stream).

I wish POSIX and Linux and the BSDs would catch up; that
was only 30 years ago.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2020-03-28 16:04 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06 22:44 [TUHS] First appearance of named pipes Noel Chiappa
2020-03-07 12:17 ` Paul Ruizendaal
2020-03-07 13:29   ` Clem Cole
2020-03-07 16:39   ` Derek Fawcus
2020-03-08  2:36     ` Rob Pike
2020-03-08  2:47       ` Larry McVoy
2020-03-08 13:07         ` Ralph Corderoy
2020-03-08 13:25           ` arnold
2020-03-08  3:06       ` Dave Horsfall
2020-03-08  7:16       ` arnold
2020-03-08 15:13       ` [TUHS] sockets (was Re: First appearance of named pipes) Derek Fawcus
2020-03-09 23:22         ` Grant Taylor via TUHS
2020-03-09 23:44           ` Larry McVoy
2020-03-23  8:49           ` Peter Pentchev
2020-03-24  9:47             ` Derek Fawcus
2020-03-25 23:25               ` Grant Taylor via TUHS
2020-03-25 23:47                 ` Richard Salz
2020-03-26  0:11                   ` Grant Taylor via TUHS
2020-03-26  0:18                     ` Richard Salz
2020-03-26  1:08                       ` Grant Taylor via TUHS
2020-03-26  2:38                         ` Dave Horsfall
2020-03-26  3:08                           ` Rob Pike
2020-03-26  3:43                             ` George Michaelson
2020-03-26  4:11                           ` Grant Taylor via TUHS
2020-03-28 11:12                           ` Peter Pentchev
2020-03-28 11:14                             ` Peter Pentchev
2020-03-28 16:03                               ` Steffen Nurpmeso
2020-03-26  1:20                       ` Tony Finch
2020-03-27 10:51                   ` Derek Fawcus
2020-03-09 23:22 ` [TUHS] First appearance of named pipes Grant Taylor via TUHS
2020-03-10  7:29   ` arnold
2020-03-11  2:47     ` Grant Taylor via TUHS
2020-03-11  7:02       ` arnold
2020-03-10 13:49   ` Chet Ramey
2020-03-10 20:26     ` Dave Horsfall
2020-03-10 20:37       ` Chet Ramey
2020-03-11  2:51       ` Grant Taylor via TUHS
2020-03-08 23:09 [TUHS] sockets (was Re: First appearance of named pipes) Norman Wilson
2020-03-09 17:09 ` Tony Finch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).