Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Message-Id: <5.2.0.9.2.20030121111136.0286aea0@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com Date: Tue, 21 Jan 2003 11:25:19 -0800 To: cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: Bug in rm -r with locked files In-Reply-To: <3E2D99F9.2040204@cotagesoft.com> References: <232810-220031221163510989 AT M2W098 DOT mail2web DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Shankar, At 11:05 2003-01-21, Shankar Unni wrote: >lhall AT pop DOT ma DOT ultranet DOT com wrote: >>You may find the 'handle' utility from www.sysinternal.com a handy >>(no pun intended :-) ) tool for determining which files are opened >>by which processes. > >I don't think that was the primary issue. The issue was that if a process >is using a directory as its working directory (chdir()'ed into it), "rm >-rf" goes into an infinite loop attempting to remove the directory (rather >than print an error and move on). > >Definitely a bug, and still a bug. That, in fact, is a presumption. The Cygwin principals are aware of this behavior and it is not new. It is a trade-off required to get POSIX-like behavior from the "unlink" system call as emulated by Cygwin. Please review the discussions under the subject "Infinite Loop In "rm -fr" When Busy File Encountered" on April 6, 2002 and "REPOST: unlink semantics" from April 10, 2002. I'm not an expert, but this has come up more than once (I initiated the April 6 round of discussions) and the upshot is that given the mismatch of API semantics between Windows and POSIX, this is the best that can be done. Randall Schulz -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/