Copyright (C) 2000-2012 |
GNU Info (libc.info)Linked ChannelsLinked 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, 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 version 1.2.2.9 |