X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Message-ID: <4A51F83B.4060109@byu.net> Date: Mon, 06 Jul 2009 07:12:27 -0600 From: Eric Blake User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.22) Gecko/20090605 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: [1.7] fifo regression References: <4A51F60F DOT 2030304 AT byu DOT net> In-Reply-To: <4A51F60F.2030304@byu.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Eric Blake on 7/6/2009 7:03 AM: > But on cygwin 1.7, when you attempt to create multiple writers to a single > fifo, the second writer creates an fd just fine but then fails on any > attempt to write to that fd: > > $ mkfifo fifo > $ (exec 5>fifo; sleep 25; echo one >&5)& > [1] 4200 > $ (exec 5>fifo; sleep 15; echo two >&5)& > [2] 204 It appears that part of the problem is that cygwin is violating POSIX - a process that opens a fifo for writes must block until a corresponding process opens the same fifo for reads, but cygwin is creating the fd without blocking. A pstree at this point shows that the sleep processes have already been spawned... > $ exec 5