[darcs-users] DeleteFile: permission denied (darcs check on windows)

Trent W. Buck trentbuck at gmail.com
Fri Feb 6 01:38:37 UTC 2009


Petr Rockai <me at mornfall.net> writes:

> Eric Kow <kowey at darcs.net> writes:
>> Applied, with an additional patch to fix test/shell_harness.hs
>> (which is used by the autoconf-based build).  Thanks!
> This finally made the Windows buildslave get its act together. It now builds
> darcs and runs tests. A bunch fails, with following error:
>
> darcs.exe: DeleteFile: permission denied (The process cannot access the file because it is being used by another process.)
>
> Vast majority of these is in check (and maybe repair), plus at least
> one in optimize --compress. I suppose all of these are because it's
> trying to delete a file that it didn't close, which fails on windows
> (I wish I knew why...).

On Windows you can't delete a file while it's being read, e.g.

    cat foo &
    rm foo

Because unlinking a file from its directory immediately makes that
file's blocks GC-able (whereas on Unix, an inode cannot be GCd until its
reference count on the filesystem *and processes* is zero).

I guess the bottom line is that we've found opportunities to close FDs
earlier :-)



More information about the darcs-users mailing list