This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Buffer size used for FIFOS


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]