Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 1st Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

read(2)

pipe(3)

PIPE(2)

NAME

pipe − create an interprocess channel

SYNOPSIS

int pipe(int fd[2])

DESCRIPTION

­Pipe creates a buffered channel for interprocess I/O communication.  Two file descriptors are returned in fd. Data written to ­fd[1] is available for reading from ­fd[0] and data written to ­fd[0] is available for reading from fd[1]. 

After the pipe has been established, cooperating processes created by subsequent fork(2) calls may pass data through the pipe with ­read and ­write calls.  The bytes placed on a pipe by one ­write are contiguous even if many processes are writing.  Write boundaries are preserved: each read terminates when the read buffer is full or after reading the last byte of a write, whichever comes first. 

The number of bytes available to a read(2) is reported in the ­Length field returned by ­fstat or ­dirfstat on a pipe (see stat(2)).

SEE ALSO

intro(2), read(2), pipe(3)

DIAGNOSTICS

Sets ­errstr. 

BUGS

If a read or a write of a pipe is interrupted, some unknown number of bytes may have been transferred. 

Plan 9  —  January 03, 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026