(libc.info)Linked Channels
13.5.1 Linked Channels
----------------------
Channels that come from a single opening share the same file position;
we call them "linked" channels. Linked channels result when you make a
stream from a descriptor using `fdopen', when you get a descriptor from
a stream with `fileno', when you copy a descriptor with `dup' or
`dup2', and when descriptors are inherited during `fork'. For files
that don't support random access, such as terminals and pipes, _all_
channels are effectively linked. On random-access files, all
append-type output streams are effectively linked to each other.
If you have been using a stream for I/O (or have just opened the
stream), and you want to do I/O using another channel (either a stream
or a descriptor) that is linked to it, you must first "clean up" the
stream that you have been using. Note: Cleaning Streams.
Terminating a process, or executing a new program in the process,
destroys all the streams in the process. If descriptors linked to these
streams persist in other processes, their file positions become
undefined as a result. To prevent this, you must clean up the streams
before destroying them.
automatically generated by info2www.cgi version 1.2.2.9