Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pipe(2)

PIPE(3)

NAME

pipe − two-way interprocess communication

SYNOPSIS

­bind #| ­dir

 dir/data
dir/data1

DESCRIPTION

An attach(5) of this device allocates two new cross-connected I/O streams, dir/data and dir/data1. 

Data written to one channel becomes available for reading at the other.  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. 

Writes are atomic up to a certain size, typically 32768 bytes, that is, each write will be delivered in a single read by the recipient, provided the receiving buffer is large enough. 

If there are multiple writers, each ­write is guaranteed to be available in a contiguous piece at the other end of the pipe.  If there are multiple readers, each read will return data from only one write. 

The pipe(2) system call performs an ­attach of this device and returns file descriptors to the new pipe’s ­data and ­data1 files.  The files are open with mode ORDWR. 

SEE ALSO

pipe(2)

SOURCE

­/sys/src/9/port/devpipe.c

Plan 9  —  September 21, 2002

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