glenda.party
term% ls -F
term% pwd
$home/manuals/9front/3/pipe
term% cat index.txt
PIPE(3)                    Library Functions Manual                    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 buf‐
       fer 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,  pro‐
       vided 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  mul‐
       tiple 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



                                                                       PIPE(3)