Re: rmtree() failure on Windows

From: Reini Urban <rurban(at)x-ray(dot)at>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: rmtree() failure on Windows
Date: 2004-10-25 16:26:50
Message-ID: 417D294A.1030106@x-ray.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Tom Lane schrieb:
> Andrew Dunstan <andrew(at)dunslane(dot)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=uberbaum
http://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/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2004-10-25 16:42:38 Re: timestamp with time zone a la sql99
Previous Message Fabien COELHO 2004-10-25 16:18:17 Re: Using ALTER TABLESPACE in pg_dump

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2004-10-25 17:09:42 Re: rmtree() failure on Windows
Previous Message Tom Lane 2004-10-25 16:15:33 Re: rmtree() failure on Windows