pipe man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

pipe(3)								       pipe(3)

NAME
       pipe -  Creates an interprocess channel

SYNOPSIS
       #include <unistd.h>

       int pipe (      int filedes[2] );

LIBRARY
       SVR4 Library (libsvr4)

PARAMETERS
       Specifies  the  address	of an array of two integers into which the new
       file descriptors are placed.

DESCRIPTION
       The pipe() function creates an interprocess channel called a  pipe  and
       returns	two  file  descriptors,	 filedes[0] and filedes[1].  Both file
       descriptors are STREAMS based and are bidirectional.  Data  written  on
       filedes[0]  appears  on	filedes[1]  and vice versa.  Data is read in a
       first-in, first-out (FIFO) basis.

       The O_NONBLOCK and the FD_CLOEXC flags  are  set	 clear	on  both  file
       descriptors.(The	 fcntl()  function  can	 be used to set the O_NONBLOCK
       flag.)

       Upon successful completion, the pipe()  function	 marks	the  st_atime,
       st_ctime and st_mtime fields of the pipe for update.

NOTES
       When  a	read or write system call on a pipe is interrupted by a signal
       and no bytes have been transferred through the pipe, the read or	 write
       system call returns a -1 and errno is set to [EINTR].  This behavior is
       different  from	previous  releases,  when  both	 system	 calls	either
       restarted  the transfer or caused errno to be set to [EINTR], depending
       on the setting of the SA_RESTART flag for the interrupting signal.

       As a result of this change, applications must  now  either  handle  the
       [EINTR]	return	or  block any expected signals for the duration of the
       read or write operation.

       [Tru64 UNIX]  When compiled in the X/Open UNIX  environment,  calls  to
       the  pipe()  function  are  internally  renamed by prepending _E to the
       function name. When you are debugging a module that includes the pipe()
       function	 and  for  which  _XOPEN_SOURCE_EXTENDED has been defined, use
       _Epipe to refer to the pipe() call.

RETURN VALUES
       Upon successful completion, a value of 0 (zero)	is  returned.  If  the
       pipe()  function	 fails,	 a value of -1 is returned and errno is set to
       indicate the error.

ERRORS
       If the pipe() function fails, errno may be set to one of the  following
       values:	The  filedes  parameter	 is an invalid address.	 A read() or a
       write() on a pipe is interrupted by a signal and	 no  bytes  have  been
       transferred  through  the  pipe.	 More than OPEN_MAX-2 file descriptors
       are already opened by this process.

	      [Tru64 UNIX]  More than getdtablesize(2)	file  descriptors  are
	      already  opened by this process.	The system file table is full,
	      or the device containing pipes  has  no  free  i-nodes.	[Tru64
	      UNIX]  The  system was unable to allocate kernel memory for more
	      file descriptors.

RELATED INFORMATION
       Commands: sh(1)

       Functions: fcntl(2), getmsg(2), poll(2), putmsg(2), read(2), select(2),
       write(2), getdtablesize(2)

       delim off

								       pipe(3)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net