X-Spam-Check-By: sourceware.org Message-ID: <ba40711f0606200822w48446b92mf6df15217483c48@mail.gmail.com> Date: Tue, 20 Jun 2006 11:22:37 -0400 From: "Lev Bishop" <lev DOT bishop AT gmail DOT com> To: cygwin AT cygwin DOT com Subject: Re: Unable to delete directory in Cygwin In-Reply-To: <e770u6$n5f$1@sea.gmane.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1F211FE03383644EAA6BB7A52FCD9B9B0927A4 AT sohm DOT kpit DOT com> <4491562C DOT 4020702 AT byu DOT net> <e76efg$cr3$1 AT sea DOT gmane DOT org> <4496F86C DOT 9050707 AT cygwin DOT com> <e770u6$n5f$1 AT sea DOT gmane DOT org> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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 On 6/19/06, mwoehlke wrote: > Larry Hall (Cygwin) wrote: > > mwoehlke wrote: > >> Eric Blake wrote: > >>> That said, cygwin does try to emulate linux, and if someone were to > >>> contribute a patch that would allow cygwin to emulate directory deletion > >>> if it knows that all open handles have also been scheduled for unlinking > >>> at process end, then http://cygwin.com/acronyms/#PTC. > >> > >> Not a patch, but for the record, it looks like Interix solves this > >> problem (http://www.interopsystems.com/tools/tm.aspx?m=9403). Maybe > >> Cygwin could do something similar? > >> > >> (And in case that link dies; apparently Interix has a special 'temp' > >> directory where "unlinked" files are sent until their handles are all > >> closed.) > > > > If you take a look at the cygwin sources, you'll see that Cygwin does > > something similar already. This does not solve the problem for those > > that want to unlink and immediately recreate the unlinked entry though... > > I'm confused. As I read the post, if I create a file 'bar' in '/foo', > open the file, and then 'rm -rf /foo', I can't do that. If Cygwin > "magically redirects" 'bar' to some special place, wouldn't that > a: allow me to unlink '/foo' > b: allow me to then create a new (and different) '/foo/bar'? Yes, in both cases. However, cygwin doesn't do this magic redirection. What it does do, as far as I understand it, is that it adds files that have deletion syscalls called on them to a pending-deletion list, returns success to the deleter, and then deletes the file at the first chance it gets. I had a go at making a "magic redirection" patch a while ago, but never got it into submittable form. > I also do not see anywhere that the OP is even trying to do [b]. With the current cygwin, you don't get that far, since the file bar still exists until it's no longer in use, and the pending-delete stuff doesn't happen for directories. Take a look at winsup/cygwin/delqueue.cc , especially the initial FIXME comment.... L -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/