Tom Lane schrieb:
> Andrew Dunstan <andrew@dunslane.net> writes:
>>Shown below is an extract from the traces of make installcheck in
>>contrib. It is decorated with some extra traces I built into
>>src/port/dirmod.c::rmtree(). It shows quite reproducible failure of
>>rmtree(), mostly at the rmdir calls, but even more worryingly there are
>>consistent unlink failures also.
>
>
> I kinda suspect that what you are looking at is a problem with the
> delayed-unlinking feature that we built to cope with Windows' inability
> to unlink open files, ie, it's being a little too slow to do the
> unlinks. Would you refresh my memory about exactly where and when the
> unlink happens if the initial try fails?
You can have a look into the cygwin sources how we do that :)
kinda problematic.
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/delqueue.cc?cvsroot=uberbaumhttp://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/syscalls.cc?cvsroot=uberbaum
in short:
if the return status of DeleteFileA() is ERROR_SHARING_VIOLATION, defer
deletion until the end of the process.
but win95 reports ERROR_ACCESS_DENIED and not ERROR_SHARING_VIOLATION as
NT does.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/