This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Buffer size used for FIFOS
- From: "Justin T. Gibbs" <gibbs at scsiguy dot com>
- To: Joerg Schilling <Joerg dot Schilling at fokus dot fraunhofer dot de>
- Cc: cygwin-developers at cygwin dot com
- Date: Fri, 29 Dec 2006 11:13:29 -0700
- Subject: Re: Buffer size used for FIFOS
- References: <4594C378.5030609@scsiguy.com> <4595495b.XfW+SgzOEWqQW3FK%Joerg.Schilling@fokus.fraunhofer.de>
Joerg Schilling wrote:
How are named pipes implemented on Cygwin?
What Microsoft calls "named pipes" are rather UNIX domain sockets that allow
a reliable n to 1 communication but not what POSIX calls named-pipes/FIFO.
Jörg
A windows named pipe is used to emulate a POSIX FIFO. When a FIFO is opened,
Cygwin searches all processes for one that has the named pipe already open. If
found, a handle to the named pipe is duplicated (the windows API supports "dup"
across processes). Otherwise a named pipe is created. Since all handles in all
processes point to the same named pipe, N way communication is supported. This
is not the typical way Windows named pipes are used (see examples in MSDN), but
it does appear to provide the desired semantics.
--
Justin