select() and named pipes

Enrico Forestieri forenr@lyx.org
Tue Feb 16 13:54:00 GMT 2010


On Mon, Feb 15, 2010 at 10:16:55PM -0500, Christopher Faylor wrote:

> On Tue, Feb 16, 2010 at 02:20:55AM +0100, Enrico Forestieri wrote:
> >On Sun, Feb 14, 2010 at 08:54:27PM -0500, Christopher Faylor wrote:
> >
> >> I just checked in YA in my series of attempts to get this working right.
> >> It will behave marginally better now but there are still problems if you
> >> attempt to write to a fifo before anything is reading it and then try to
> >> do a non-blocking read.
> >
> >Thank you for your efforts. It indeed works better with the 2010-02-15
> >snapshot.
> >
> >In order to help you pinpointing another glitch, I attach here a slightly
> >slightly modified version of the original test case and a shell script.
> >Launching the program in a terminal and then the shell script in another
> >one, it seems that the program hangs on the write() call.
> >Apparently, the problem is the O_RDWR flag, as replacing it with O_WRONLY,
> >everything works. The test case works with O_RDWR both in cygwin 1.5 and
> >linux.
> 
> Yes, non-blocking writes are not working.  They never really were, in fact.

Please, note that the write fails when using O_RDWR instead of O_WRONLY.
In the test case, O_NONBLOCK is not used.

-- 
Enrico

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list