man(1) Manual page archive

 SYS-PIPE(2) SYS-PIPE(2)
 NAME
 pipe - create an interprocess channel
 SYNOPSIS
 include "sys.m";
 sys := load Sys Sys->PATH;
 pipe: fn(fds: array of ref FD): int;
 DESCRIPTION
 Pipe creates a buffered channel for interprocess I/O via
 file descriptors. It allocates a pipe from the pipe device
 and returns in the array fds file descriptors for the two
 pipe ends. Both returned file descriptors are opened for
 both reading and writing (Sys->ORDWR). Data written on one
 file descriptor can be read from the other. The details of
 flow control and buffering are given in pipe(3). When no
 references remain to the file descriptor representing one
 end of a pipe, and all remaining data has been read at the
 other end, subsequent reads at that end will return 0 bytes.
 Writes to a pipe with no reader produce an exception.
 The array fds passed to the system call must have a length
 of at least 2; only entries 0 and 1 are updated.
 Limbo applications typically use typed Limbo channels, not
 pipes, for efficient communication by cooperating processes.
 Pipes are still useful, however, to connect applications
 that do not (or cannot) share such channels, or when a sys-
 tem interface requires a file descriptor. For instance, a
 process that serves the Styx protocol can pass the file
 descriptor for one end of a pipe to Sys->mount (see sys-
 bind(2)), and read and write Styx messages on the other end
 of the pipe.
 DIAGNOSTICS
 Returns 0 on success; -1 on failure.
 SEE ALSO
 pipe(3)

AltStyle によって変換されたページ (->オリジナル) /