delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=-2.6 required=5.0 tests=AWL,BAYES_00 |
X-Spam-Check-By: | sourceware.org |
From: | "Matthew Kidd" <matthew DOT j DOT kidd AT gmail DOT com> |
To: | <cygwin AT cygwin DOT com> |
Subject: | Cygwin1.dll 1.7.1 causes ActivePerl 5.10 hang on gzip pipe close on Windows Server 2003 |
Date: | Thu, 18 Mar 2010 16:16:05 -0700 |
Message-ID: | <58B8917600CC4A9A8F674736E4D6E215@ghc.local> |
MIME-Version: | 1.0 |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
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). - Matthew Kidd -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |