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


On 29 December 2006 07:28, Justin T. Gibbs wrote:


> In playing with this in cygwin, I quickly discovered that the named pipes
> used to implement FIFOs are created with a size of 1 byte.  This is far less
> than cygwin's PIPE_BUF (4096) or the POSIX mandated minimum for PIPE_BUF
> (512). After reviewing the code, the setting seems deliberate
> (fhandler_pipe::create_selectable() has an explicit check to avoid bumping
> the size up to PIPE_BUF for FIFOs), but I couldn't find any code comments or
> changelog entries to explain the restriction.  Can anyone explain the
> requirement for this limit?

  Perhaps it is related to the misbehaviour of NtQueryInformationFile:

http://cygwin.com/ml/cygwin-patches/2004-q4/msg00018.html

but this is highly speculative and I'm not quite sure whether restricting the
buffer size to 1 byte would help, but I'm wondering if iit would make coping
easier to reduce the scale of the problem from "Is there space in the buffer
and if so how much" to a binary "Is there any space in the buffer or none"?


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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