X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Date: Fri, 27 Nov 2009 11:57:02 +0100 To: cygwin AT cygwin DOT com Subject: Re: tar hangs on unpacking calcoo_1.3.16.orig.tar Message-ID: <20091127105701.GA30132@win.tue.nl> References: <5a05e0e60911261052w2e60586cxe7a90d02b4cf6e0f AT mail DOT gmail DOT com> <20091126213025 DOT GA26443 AT win DOT tue DOT nl> <4B0EF59B DOT 90609 AT cs DOT umass DOT edu> <20091127002050 DOT GA27305 AT win DOT tue DOT nl> <20091127005219 DOT GE18148 AT ednor DOT casa DOT cgf DOT cx> <20091127085608 DOT GW29173 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091127085608.GW29173@calimero.vinschen.de> User-Agent: Mutt/1.5.18 (2008-05-17) From: rp AT win DOT tue DOT nl (Reinier Post) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Fri, Nov 27, 2009 at 09:56:08AM +0100, Corinna Vinschen wrote: > On Nov 26 19:52, Christopher Faylor wrote: > > On Fri, Nov 27, 2009 at 01:20:50AM +0100, Reinier Post wrote: > > >On Thu, Nov 26, 2009 at 04:39:39PM -0500, Eliot Moss wrote: > > >> I wonder if some process has created the file in > > >> question and still has it open. Then a call to > > >> create, and a call to unlink, will both fail. > > > > > >But the call to open is failing (the fd returned is -1), > > >which is why the unlink() is executed in the first place, > > >and it does *not* fail. > > > > > >My vote for Stephan Mueller's suggestion that the 'aux' in the > > >name is causing the problem - but this still doesn't explaing why > > >the unlink() claims to succeed (returning 0); the loop within tar > > >should be changed to deal with this situation in any case. > > > > No, it shouldn't. We are not going to patch every conceivable > > program to understand MS-DOS special files. I am not asking for tar to deal with a special file, but with a C source code file that happens to be named aux.c. I'm not even asking for it to write that file, merely not to go into an infinite loop. I know tar can easily hang on certain input (e.g. /dev/zero) but I think this particular behavior is not something users can be expected to work around preventively - a bug. (I found it by running a script that invokes tar 63000 times overnight, and tar is often used in such non-interactive contexts.) Can't this be handled at the system call level? After all it's not the tar source code but unlink()'s return code that seems to cause the problem. > > This won't be a problem with Cygwin 1.7. If you want a fix change > > to that. Thank you, I wasn't aware of 1.7. > Just as a sidenote a pointer to the new User's Guide: > http://cygwin.com/1.7/cygwin-ug-net/using-specialnames.html#pathnames-dosdevices > > Corinna Very helpful, thank you. -- Reinier Post -- 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