Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pipe(2) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

read(2)

write(2)

fork(2)



      PIPE(2)                 GENIX Programmer's Manual                 PIPE(2)



      NAME
           pipe - create an interprocess channel

      SYNOPSIS
           pipe(fildes)
           int fildes[2];

      DESCRIPTION
           The pipe system call creates an I/O mechanism called  a  pipe.   The
           file  descriptors returned can be used in read and write operations.
           When the pipe is written using the descriptor fildes[1] up  to  4096
           bytes  of data are buffered before the writing process is suspended.
           A read using the descriptor fildes[0] will pick up the data.

           It is assumed that after the pipe has been set  up,  two  (or  more)
           cooperating  processes  (created by subsequent fork calls) will pass
           data through the pipe with read and write calls.

           The Shell has a syntax to set up a linear array  of  processes  con-
           nected by pipes.

           Read calls on an empty pipe (no buffered data)  with  only  one  end
           (all write file descriptors closed) returns an end-of-file.

      SEE ALSO
           sh(1), read(2), write(2), fork(2)

      DIAGNOSTICS
           The function value zero is returned if the pipe was created;  -1  if
           too  many  files are already open.  A signal is generated if a write
           on a pipe with only one end is attempted.

      BUGS
           Should more than 4096 bytes be necessary in any pipe among a loop of
           processes, deadlock will occur.




















      Printed 11/16/83                                                        1



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