The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] EOF on pipes?
@ 2018-02-25 13:07 Doug McIlroy
  2018-02-25 13:16 ` George Michaelson
  0 siblings, 1 reply; 18+ messages in thread
From: Doug McIlroy @ 2018-02-25 13:07 UTC (permalink / raw)


>> pipe, ch(e)root.... Any more unix connections to smoking?

I have a slide that's a quadralingual pun (French, English, Art, shell)
in which Magritte's painting of a pipe with the words "Ceci n'est pas
une pipe" has been altered to read "Ceci n'est pas une |". The
altered phrase was borrowed from Jay Misra et al, who used it as
an example of a message in a paper on communicating processes.



^ permalink raw reply	[flat|nested] 18+ messages in thread
* [TUHS] EOF on pipes?
@ 2018-02-27  5:04 Rudi Blom
  2018-02-27  5:48 ` Dave Horsfall
  0 siblings, 1 reply; 18+ messages in thread
From: Rudi Blom @ 2018-02-27  5:04 UTC (permalink / raw)


pipes in SCO UNIX 3.2V4.2,

It's long, long ago, so excuses for vagueness. I think the issue was
not pipe() perse, but the difference in functionality between 'pipe
filesystem' and streams pipes.

By using pipe() you create a FIFO pipe with certain limitations
(including 5120 write limit). When you open the streams device twice
and ioctl() two file descriptors together you have more flexibility.

Excuses for the possible confusion.


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [TUHS]  EOF on pipes?
@ 2018-02-25  0:53 Norman Wilson
  2018-02-25 16:29 ` Paul Winalski
  2018-02-25 22:25 ` Lyndon Nerenberg
  0 siblings, 2 replies; 18+ messages in thread
From: Norman Wilson @ 2018-02-25  0:53 UTC (permalink / raw)


  Many years ago (when the dinosaurs were using V6), I had a crazy idea[*] 
  that a write(fd, 0, NULL) would somehow signal EOF to the reader i.e. a 
  subsequent read would wait for further data instead of ENOTOBACCO.

  Did any *nix ever implement that?  I have no idea how it would be done.

Have an ENOGORILLA.

To answer the real question: stream pipes, which became the only
sort of pipe in the Research stream (sic) sometime between the
8/e and 9/e manuals.

The implementation was trivial, because from the beginning the
metadata within a stream admitted delimiters: markers that meant
`when this object reaches read(2) at the head end, return from
read with whatever has already been delivered.'  Empty messages
(two consecutive delimiters) were explicitly allowed.

If a stream was marked as using delimeters (and pipes always
were), a delimeter was inserted after every write(2).  So
write(2) generated an empty message, and read(2) returned it.

Norman Wilson
Toronto ON


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [TUHS] EOF on pipes?
@ 2018-02-24 21:33 Dave Horsfall
  2018-02-24 23:13 ` Ron Natalie
  2018-02-26 16:03 ` Rudi Blom
  0 siblings, 2 replies; 18+ messages in thread
From: Dave Horsfall @ 2018-02-24 21:33 UTC (permalink / raw)


Many years ago (when the dinosaurs were using V6), I had a crazy idea[*] 
that a write(fd, 0, NULL) would somehow signal EOF to the reader i.e. a 
subsequent read would wait for further data instead of ENOTOBACCO.

Did any *nix ever implement that?  I have no idea how it would be done.

[*]

I was full of crazy ideas then, such as extending stty() to an arbitrary 
device and was told by the anti-CSU mob that it was a stupid idea...

-- 
Dave Horsfall DTM (VK2KFU)  "Those who don't understand security will suffer."


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

end of thread, other threads:[~2018-02-27  5:48 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-25 13:07 [TUHS] EOF on pipes? Doug McIlroy
2018-02-25 13:16 ` George Michaelson
2018-02-25 13:56   ` arnold
  -- strict thread matches above, loose matches on Subject: below --
2018-02-27  5:04 Rudi Blom
2018-02-27  5:48 ` Dave Horsfall
2018-02-25  0:53 Norman Wilson
2018-02-25 16:29 ` Paul Winalski
2018-02-25 22:25 ` Lyndon Nerenberg
2018-02-25 23:18   ` Bakul Shah
2018-02-26  2:39   ` Grant Taylor
2018-02-24 21:33 Dave Horsfall
2018-02-24 23:13 ` Ron Natalie
2018-02-24 23:42   ` Bakul Shah
2018-02-24 23:46     ` Nelson H. F. Beebe
2018-02-24 23:46     ` Jon Steinhart
2018-02-26 16:03 ` Rudi Blom
2018-02-26 16:58   ` Ian Zimmerman
2018-02-26 17:19     ` Larry McVoy

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).