Bug in rm -r with locked files

Shankar Unni shankar@cotagesoft.com
Tue Jan 21 20:18:00 GMT 2003


lhall@pop.ma.ultranet.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.
NOTE: The "-f" flag is crucial to reproducing this - without the "-f", 
rm gives an error and exits.
Here's how to reproduce
 From one bash:
 mkdir /cygdrive/c/temp/foo (some path)
 vi /cygdrive/c/temp/foo/x.txt
 :w
 From a second bash:
 rm -rf /cygdrive/c/temp/foo
 (Hangs, with rm.exe taking ~100% of the CPU)
My package versions:
 fileutils 4.1-1
 cygwin 1.3.18-1
 bash 2.05b-8
 vim 6.1-2
This doesn't happen, by the way, if you simply "cd" into the directory 
in the first bash, and do nothing else - in that situation, the "rm -rf" 
just emits a "Permission denied" error and exits. Does bash do 
something special to the directories it chdir()s to?
--
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/


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /