Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!husc11!martillo
From: martillo@husc11.HARVARD.EDU (Yakim Martillo)
Newsgroups: comp.protocols.tcp-ip.ibmpc
Subject: Re: More questions about TLI
Message-ID: <3416@husc6.harvard.edu>
Date: Sun, 29-Nov-87 20:42:53 EST
Article-I.D.: husc6.3416
Posted: Sun Nov 29 20:42:53 1987
Date-Received: Wed, 2-Dec-87 21:35:16 EST
References: <8711181601.AA00849@janeb.wisc.edu> <305@halley.UUCP> <3415@husc6.harvard.edu>
Sender: news@husc6.harvard.edu
Reply-To: martillo@husc11.UUCP (Yakim Martillo)
Organization: Harvard Univ. Science Center
Lines: 20

Steve Dyer correctly pointed out to me that Full-duplex is not the
correct term for describing a pipe.

Pipe returns two file descriptors.  If the process forks, the
child inherits the same read and write pointers as the parent.

Using dup or dup2 either process can get its own read and write
pointers into the pipe.

If the parent and child continue to share the same read and write
pointer, the parent could write into the pipe and then the child
could drain it.  Then the child could write into the pipe and the
parent could drain it.  If parent and child read and write
simultaneously, the result is probably a mess. Maybe bidirectional
is a better term for this.

Also I meant asynchronous and non-blocking I/O work identically on
terminals, files, pipes and sockets in the socket formalism.

If there are anymore errors in this, they are mine and not Steve's.