*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: pipe | Section: 2 | Source: Digital UNIX | File: pipe.2.gz
pipe(2) System Calls Manual pipe(2) NAME pipe - Creates an interprocess channel SYNOPSIS #include <unistd.h> int pipe ( int filedes[2] ); STANDARDS Interfaces documented on this reference page conform to industry stan- dards as follows: pipe(): XPG4, XPG4-UNIX Refer to the standards(5) reference page for more information about in- dustry standards and associated tags. PARAMETERS Specifies the address of an array of two integers into which the new file descriptors are placed. DESCRIPTION The pipe() function creates a unidirectional interprocess channel called a pipe, and returns two file descriptors, filedes[0] and filedes[1]. The file descriptor specified by the filedes[0] parameter is opened for reading and the file descriptor specified by the filedes[1] parameter is opened for writing. Their integer values will be the two lowest available at the time of the call to the pipe() func- tion. A process has the pipe open for reading if it has a file descriptor open that refers to the read end, filedes[0]. A process has the pipe open for writing if it has a file descriptor open that refers to the write end, filedes[1]. A read on file descriptor filedes[0] accesses the data written to filedes[1] on a first-in, first-out (FIFO) basis. System V Compatibility The pipe() function creates an interprocess channel called a pipe and returns two file descriptors, filedes[0] and filedes[1]. Both file de- scriptors 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. Under both behaviors, 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. [Digital] 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. See standards(5) for further information. 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. [Digital] More than getdtablesize(2) file descriptors are al- ready opened by this process. The system file table is full, or the device containing pipes has no free i-nodes. [Digital] The system was unable to allocate kernel memory for more file de- scriptors. RELATED INFORMATION Commands: sh(1) Functions: fcntl(2), getmsg(2), poll(2), putmsg(2), read(2), select(2), write(2), getdtablesize(2) Standards: standards(5) delim off pipe(2)

Navigation Options