Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #88573

Re: Help with pipes, buffering and pseudoterminals

References <CAJGew6=g41cT5QXd51oaVVC5PWCnE5GWYzX5YaqDBwXb0kKUDw@mail.gmail.com> <20150407054803.GA80257@cskk.homeip.net>
Date 2015-04-07 20:38 +1000
Subject Re: Help with pipes, buffering and pseudoterminals
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.85.1428403083.12925.python-list@python.org> (permalink)

Show all headers | View raw


On Tue, Apr 7, 2015 at 3:48 PM, Cameron Simpson <cs@zip.com.au> wrote:
> The operating system arranges the commection of the shell to the terminal.
> Your usual program has by default a stdin, stdout and stderr. These are
> _all_ the same file handle, duplicated to each of the three file descriptors
> 0, 1 and 2 respectively. On the operating system side, the OS has performed
> _one_ open() call on the terminal device and handed the caller a single file
> descriptor. The caller then calls dup() (or modernly, dup2()) to present the
> open terminal as stdin, stdout and stderr.

Really? I can believe that stdout and stderr are initially duplicates,
but stdin as well? Isn't stdin opened for reading only, and
stdout/stderr for writing only?

I grew up on DOS and OS/2, not on Unix, so maybe there's a massive
simplification here that I'm not aware of. That'd be pretty clean and
tidy if what you say is the case!

ChrisA

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: Help with pipes, buffering and pseudoterminals Chris Angelico <rosuav@gmail.com> - 2015-04-07 20:38 +1000
  Re: Help with pipes, buffering and pseudoterminals Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-04-08 12:23 +1200

csiph-web