diff options
Diffstat (limited to 'man4/fifo.4')
-rw-r--r-- | man4/fifo.4 | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/man4/fifo.4 b/man4/fifo.4 new file mode 100644 index 000000000..1fc736382 --- /dev/null +++ b/man4/fifo.4 @@ -0,0 +1,57 @@ +.\" This man page is Copyright (C) 1999 Claus Fischer. +.\" Permission is granted to distribute possibly modified copies +.\" of this page provided the header is included verbatim, +.\" and in case of nontrivial modification author and date +.\" of the modification is added to the header. +.\" +.\" 990620 - page created - aeb@cwi.nl +.\" +.TH FIFO 4 1999-06-20 "Linux" "Linux Programmer's Manual" +.SH NAME +fifo \- first-in first-out special file, named pipe +.SH DESCRIPTION +A FIFO special file (a named pipe) is similar to a pipe, +except that it is accessed as part of the file system. +It can be opened by multiple processes for reading or +writing. When processes are exchanging data via the FIFO, +the kernel passes all data internally without writing it +to the file system. Thus, the FIFO special file has no +contents on the file system, the file system entry merely +serves as a reference point so that processes can access +the pipe using a name in the file system. +.PP +The kernel maintains exactly one pipe object for each +FIFO special file that is opened by at least one process. +The FIFO must be opened on both ends (reading and writing) +before data can be passed. Normally, opening the FIFO blocks +until the other end is opened also. +.PP +A process can open a FIFO in non-blocking mode. In this +case, opening for read only will succeed even if noone has +opened on the write side yet; opening for write only will +fail with ENXIO (no such device or address) unless the other +end has already been opened. +.PP +Under Linux, opening a FIFO for read and write will succeed +both in blocking and non-blocking mode. POSIX leaves this +behaviour undefined. This can be used to open a FIFO for +writing while there are no readers available. A process +that uses both ends of the connection in order to communicate +with itself should be very careful to avoid deadlocks. +.SH NOTES +When a process tries to write to a FIFO that is not opened +for read on the other side, the process is sent a SIGPIPE +signal. + +FIFO special files can be created by +.BR mkfifo (3), +and are specially indicated in +.IR "ls -l" . +.SH "SEE ALSO" +.BR mkfifo (1), +.BR open (2), +.BR pipe (2), +.BR sigaction (2), +.BR signal (2), +.BR socketpair (2), +.BR mkfifo (3) |