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.