X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Fri, 19 Mar 2010 11:24:14 +0100
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Cygwin1.dll 1.7.1 causes ActivePerl 5.10 hang on gzip pipe  close on Windows Server 2003
Message-ID: <20100319102414.GK6505@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <58B8917600CC4A9A8F674736E4D6E215@ghc.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <58B8917600CC4A9A8F674736E4D6E215@ghc.local>
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 Mar 18 16:16, Matthew Kidd wrote:
> I upgraded to Cygwin 1.7.1 on a (64-bit) Windows Server 2003 and immediately
> ran into trouble. It seems that Perl can no longer shutdown pipes related to
> Cygwin executables. Here is some example code:
> 
> #!/usr/bin/perl
> 
> use strict;
> 
> # my $fname = 'Y:\path\to\ratherbigfile.gz';
> my $fname = '/cygdrive/y/path/to/ratherbigfile.gz';
> 
> open(FH, "gzip -dc $fname |") || die 'open failed.';
> for (1..4) { my $fline = <FH>; print $fline; }
> 
> close(FH);
> print "done\n";
>  
> 
> Before Cygwin 1.7.1 this code ran fine. It printed out four lines, closed
> the pipe, and exited. But now it hangs at the close(FH) statement and the
> child gzip process maxes out a core continuing to uncompress the big file. I
> either have to kill the gzip process or the Perl process. This problem
> happens whether I use a Windows style file path or a Unix style file path.
> It doesn't matter if I use 32-bit or 64-bit Perl.
> 
> If I replace the cygwin1.dll file from the 1.7.1 installation with an older
> version of cygwin1.dll from a different installation (specifically 1.5.25
> cr-0x5f1), the code above works fine (though I imagine mixing and matching
> DLL version is not a good long term solution).

Try the latest developer snapshot from http://cygwin.com/snapshots/
fixes your problem.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

