summaryrefslogtreecommitdiffstats
path: root/man4/fifo.4
diff options
context:
space:
mode:
Diffstat (limited to 'man4/fifo.4')
-rw-r--r--man4/fifo.457
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)