Annotation of researchv10dc/man/adm/man2/pipe.2, revision 1.1.1.1

1.1       root        1: .TH PIPE 2
                      2: .CT 2 comm_proc
                      3: .SH NAME
                      4: pipe \(mi create an interprocess channel
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .B int pipe(fildes)
                      8: .B int fildes[2];
                      9: .fi
                     10: .SH DESCRIPTION
                     11: .I Pipe
                     12: creates a buffered channel for interprocess I/O communication.
                     13: Two file descriptors returned in
                     14: .I fildes
                     15: are the ends of pair of cross-connected streams;
                     16: see
                     17: .IR stream (4).
                     18: Data written via
                     19: .B fildes[1]
                     20: is available for reading via
                     21: .B fildes[0]
                     22: and vice versa.
                     23: .PP
                     24: After the pipe has been set up,
                     25: cooperating processes
                     26: created by subsequent
                     27: .IR fork (2)
                     28: calls may pass data through the
                     29: pipe with
                     30: .I read
                     31: and
                     32: .I write
                     33: calls.
                     34: The bytes placed on a pipe
                     35: by one 
                     36: .I write
                     37: are contiguous even if many process are writing.
                     38: .I Writes
                     39: induce a record structure: a
                     40: .I read
                     41: will not return bytes from more than one 
                     42: .IR write ;
                     43: see
                     44: .IR read (2).
                     45: .PP
                     46: Write calls on a one-ended pipe raise signal
                     47: .BR SIGPIPE .
                     48: Read calls on a one-ended pipe with no data in it
                     49: return an end-of-file for the first several attempts, then raise
                     50: .BR SIGPIPE ,
                     51: and eventually
                     52: .BR SIGKILL .
                     53: .SH "SEE ALSO"
                     54: .IR sh (1), 
                     55: .IR fork (2),
                     56: .IR read (2),
                     57: .IR select (2),
                     58: .IR stream (4)
                     59: .SH DIAGNOSTICS
                     60: .BR EIO ,
                     61: .BR EMFILE ,
                     62: .BR ENFILE ,
                     63: .BR ENXIO
                     64: .SH BUGS
                     65: Buffering in pipes connecting multiple processes may cause deadlocks.
                     66: .PP
                     67: Some line discipline modules
                     68: discard the record delimiters
                     69: inserted by
                     70: .IR write .
                     71: .PP
                     72: On many other versions of the system,
                     73: only
                     74: .B fildes[0]
                     75: may be read
                     76: and only
                     77: .B fildes[1]
                     78: may be written.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.