04-29-2004
Quote:
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 pro cesses 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.
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.
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.
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.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi All
L2000-44
HP-UX 11.00
I am attempting to setup a FIFO over NFS. Directing and reading from the FIFO works fine on the local machine - however when I direct to the FIFO from a server which has the directory NFS mounted it does not work. The a process to read from the FIFO on the local... (2 Replies)
Discussion started by: saabir
2 Replies
2. UNIX for Advanced & Expert Users
Hi...Can anyone please guide me on FIFO Pipes in UNIX.I have lerant things like creating fifo pipes,using them for reads and writes etc.I want to know what is the maximum amount of memory that such a pipe may have? Also can anyone guide me on where to get info on this topic from? (4 Replies)
Discussion started by: tej.buch
4 Replies
3. Programming
hi, I have a problem. I've done a lil program which gets from the server the given persons username a personal folder. I made it with a pipe calling popen with a command, but how can i make the same thing using fifo. I make the fifo with mkfifo() func. and than what. How do I tell the sertver using... (3 Replies)
Discussion started by: atticus
3 Replies
4. UNIX for Dummies Questions & Answers
Hi ,
I m beginner for Unix and i want to use FIFO in my 2 Scripts . I want 1 script to read data from FIFO and other will write into FIFO.
Despite reading so many articles/posts i am still unable sunchronize my scripts.
My doubts are
1> Do We require both scripts as daemons to use... (0 Replies)
Discussion started by: Akshay
0 Replies
5. Programming
Hello,
I have a FIFO which i would like to open O_WDWR | O_NONBLOCK | O_ASYNC and have a SIGIO signal generated when there is input on the FIFO, but there a re a bunch of bugs surrounding this (like for instance i read somewhere that you have to set O_ASYNC with fcntl etc.
is this even... (0 Replies)
Discussion started by: davo666
0 Replies
6. Programming
Hello C programming fellows!!!
I'm doing a program with multiple threads in gnu/linux, ubuntu for beeing precise...
This program consist in multiple threads, as logical each thread do different things and communicate to each other using IPC.
The problem is that in "process 1" I have a... (1 Reply)
Discussion started by: Sandia_man
1 Replies
7. Programming
Dear friends
i'm want to implement a program which one file is split into fragments by the server (by some random size) and sent to some processes, so these processes get randomly the fragments of the original file from the server, then the downloader randomly connects to some of these processes... (0 Replies)
Discussion started by: saman_glorious
0 Replies
8. Programming
=server.c=
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <signal.h>
#define MSGSIZE 50 (1 Reply)
Discussion started by: sponge
1 Replies
9. UNIX and Linux Applications
Hello ,
I am working on unix FIFO IPC. i have a doubt regarding that.
If the fifo is updated(write()) through one process....can we able to send any signal that fifo is updated and ready to get read...to other process.?? (0 Replies)
Discussion started by: Harry443
0 Replies
10. UNIX for Beginners Questions & Answers
Hi all,
First of all, sorry for the pastebin link. The code tags aren't working for me.
#!/bin/bash # while-menu-dialog: a menu driven - Pastebin.com
This is a channel "changer" shell script i'm working on. It uses dialog to display the menus.
It... (3 Replies)
Discussion started by: ignatius
3 Replies
LEARN ABOUT DEBIAN
bup-server
bup-server(1) General Commands Manual bup-server(1)
NAME
bup-server - the server side of the bup client-server relationship
SYNOPSIS
bup server
DESCRIPTION
bup server is the server side of a remote bup session. If you use bup-split(1) or bup-save(1) with the -r option, they will ssh to the
remote server and run bup server to receive the transmitted objects.
There is normally no reason to run bup server yourself.
MODES
smart In this mode, the server checks each incoming object against the idx files in its repository. If any object already exists, it
tells the client about the idx file it was found in, allowing the client to download that idx and avoid sending duplicate data.
This is bup-server's default mode.
dumb In this mode, the server will not check its local index before writing an object. To avoid writing duplicate objects, the server
will tell the client to download all of its .idx files at the start of the session. This mode is useful on low powered server hard-
ware (ie router/slow NAS).
FILES
$BUP_DIR/bup-dumb-server
Activate dumb server mode, as discussed above. This file is not created by default in new repositories.
SEE ALSO
bup-save(1), bup-split(1)
BUP
Part of the bup(1) suite.
AUTHORS
Avery Pennarun <apenwarr@gmail.com>.
Bup unknown- bup-server(1)