Mail Archives: djgpp-workers/2001/03/22/13:21:45
> How is this supposed to be used? Could you give an example of a
> real-life usage in Bash?
pipe() is used by the command substitution and pipeline portions of Bash. In
the case of command substituion, Bash essentially does this:
pipe(fildes)
dup2(fildes[1], 1) /* write end of pipe now stdout */
/* perform command */
/* read command output from read end of pipe */
Pipelines such as 'a | b' are more complicated:
pipe(fildes1)
dup2(fildes1[1], 1) /* Write end of pipe 1 is now stdout */
/* run 'a' */
dup2(fildes1[0], 0) /* Read in of pipe 1 is now stdin */
close(fildes1[1]) /* Done with write end of pipe 1*/
/* run 'b' */
close(fildes1[0]) /* Done with read end of pipe 1 */
- Raw text -