This is the mail archive of the
mailing list for the Cygwin project.
Re: select() and named pipes
- From: Christopher Faylor <cgf-use-the-mailinglist-please at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Sun, 14 Feb 2010 20:54:27 -0500
- Subject: Re: select() and named pipes
- References: <20091222224309.GA3504@GIOVE> <20091223003714.GA4491@ednor.casa.cgf.cx> <20091223021219.GA5836@GIOVE> <20100103165846.GA3284@GIOVE> <20100103191121.GA17057@ednor.casa.cgf.cx>
- Reply-to: cygwin at cygwin dot com
On Sun, Jan 03, 2010 at 02:11:21PM -0500, Christopher Faylor wrote:
>On Sun, Jan 03, 2010 at 05:58:46PM +0100, Enrico Forestieri wrote:
>>On Wed, Dec 23, 2009 at 03:12:19AM +0100, Enrico Forestieri wrote:
>>> On Tue, Dec 22, 2009 at 07:37:14PM -0500, Christopher Faylor wrote:
>>> > On Tue, Dec 22, 2009 at 11:43:09PM +0100, Enrico Forestieri wrote:
>>> > >I am experiencing a problem with select() and named pipes in cygwin
>>> > >1.7. The attached test case segfaults on the select() call, but works
>>> > >fine with both cygwin 1.5 and linux.
>>> > Thanks for the test case. This should be fixed in the next Cygwin
>>> > snapshot but it will not be fixed (of course?) in 1.7.1 which is now
>>> > available from the Cygwin web site.
>>> I confirm that with the 20091222 snapshot the crash does not occur
>>> anymore. However, there's still something wrong. Indeed, running the
>>> test case in a terminal and issuing "echo foo > /tmp/pipe" from another
>>> one, the program exits without printing the expected "foo".
>>Apparently, the problem is due to the O_NONBLOCK flag used in the open()
>>call. Taking away O_NONBLOCK, everything works.
>I'm still tinkering with fifos. I hope to have some fixes for Cygwin 1.7.2
>but no guarantees.
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.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple