Re: bidirectional named pipe?

From: David L. Nicol (
Date: Wed Feb 07 2001 - 18:09:40 EST

Alan Cox wrote:
> > I'm porting some software to Linux that requires use of a bidirectional,
> > named pipe. The architecture is as follows: A server creates a named pipe
> Pipes are not bidirectional in Linux. We follow traditional non stream
> behaviour
> > /dev/spx". I experiemented with socket-based pipes under Linux, but I
> > couldn't gain access to them by open()ing the name. Is there help? I
> AF_UNIX sockets are bidirectional but like all sockets use bind() and
> connect().

How hard would it be to add? The limitation on fifos that you get the same
one every time you open it makes some things tricky -- the server has to
move the fifo and mkfifo a new one to replace its data with something else,
for instance, which is not atomic.

I don't understand, in the original problem, how the server opens
the named bipipe differently from the servers, to be on one end rather than
the other.

A way to map a file name to a socket pair would be nice, the first to open
it could get one end of it and everyone else would get the other end, or there
would be a switch.

You could patch the file system code, I wonder how deep the changes would have
to be, if you did it in terms of lots of fifos.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed Feb 07 2001 - 21:00:28 EST