Bug in rm -r with locked files

Gael Mulat Gael.Mulat@polyspace.com
Wed Jan 22 15:03:00 GMT 2003



Gael Mulat wrote:

>    Hi,
>
>    This is a bug report about rm (package fileutils, version 4.1-1) on 
> W2K.
>
>    Test case: take 2 cygwin shells.
> shell 1:
>    mkdir /tmp/directory
>    vi /tmp/directory/file
>
> shell 2:
>    /bin/rm -rf /tmp/directory
>
>    The shell2 doesn't manage to remove the directory and goes into an 
> infinite loop, taking 100% of the CPU.
>    All is then OK if we go out of vi in the shell1.
>
>    Doing the same thing (deleting the directory) directly in Windows 
> produces an error message: "cannot delete directory: Access is denied. 
> The source file may be in use" and we can notice in the directory a 
> file named .file.swp that is also visible under Cygwin with ls -la.
>
>    The example I have just given uses vi, but it is the same with all 
> processes that open the file, as W2K puts a lock on it.
>
> Gael Mulat
>
    OK. If I summurize all that has been said, this problem is 
well-known but has no solution in a near future.

    But a workaround would be very useful for people (me and Brian 
Kelly, for instance) who use plenty of rm -rf in cross-platform shell 
scripts.

    Thanks to Shankar Unni, I have mine: I didn't noticed that only rm 
-rf had the trouble, and not rm -r.

    So my workaround will be to replace all the '/bin/rm -rf dir' by 
'chmod -R +w dir; /bin/rm -r dir'. The semantic is not exactly the same 
(especially on write-protected directories), but that will allow my 
scripts to work well...

    Thanks everybody.

Gael.

-- 
Gael Mulat
http://www.polyspace.com
Phone: +33 (0)4 56 38 16 06




--
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