X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Sun, 14 Feb 2010 20:54:27 -0500
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: select() and named pipes
Message-ID: <20100215015427.GB5207@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <20091222224309.GA3504@GIOVE>  <20091223003714.GA4491@ednor.casa.cgf.cx>  <20091223021219.GA5836@GIOVE>  <20100103165846.GA3284@GIOVE>  <20100103191121.GA17057@ednor.casa.cgf.cx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20100103191121.GA17057@ednor.casa.cgf.cx>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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.

cgf

--
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

