Обсуждение: Re: win32 open patch for held unlink

Поиск
Список
Период
Сортировка

Re: win32 open patch for held unlink

От
"D.J. Heap"
Дата:
Claudio Natoli wrote:
>>Agreed, we still need dirmod.c in case someone has opened it using a
>
> non-unix mode.
>
> Ok. Wanted to make sure I was on the same page.
>
>
>
>>My only question was whether this new mode makes rename
>>possible on a target file opened by another backend.
>
>
> Looks good. Wrote a pair of 2 liner driver programs to test. Renaming fails
> when the file is open()'d, but proceeds correctly when win32_open()'d.


I've run into lots of trouble with 3rd party programs opening any files
that change on the system and locking them down.  For example, real-time
virus scanners, indexing software, and some builtin Win32 service that I
haven't pinpointed yet (it runs under a generic svchost.exe on XP).
These extremely annoying programs do not play nice and use
FILE_SHARE_DELETE, at least not in my experience.

There are large threads about this problem on the Subversion mailing
list (search for 'access denied') and some mentions of it on the CVSNT
mailing list, I believe.

Subversion ended up with a looping hack for Win32, at least until
something better is found.

DJ



**********************************************************************
This email and any files transmitted with it are confidential
and intended solely for the use of the individual or entity to
whom they are addressed. If you have received this email
in error please notify the system manager.

This footnote also confirms that this email message has been
swept by MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************


Re: win32 open patch for held unlink

От
Bruce Momjian
Дата:
D.J. Heap wrote:
> Claudio Natoli wrote:
> >>Agreed, we still need dirmod.c in case someone has opened it using a
> >
> > non-unix mode.
> >
> > Ok. Wanted to make sure I was on the same page.
> >
> >
> >
> >>My only question was whether this new mode makes rename
> >>possible on a target file opened by another backend.
> >
> >
> > Looks good. Wrote a pair of 2 liner driver programs to test. Renaming fails
> > when the file is open()'d, but proceeds correctly when win32_open()'d.
>
>
> I've run into lots of trouble with 3rd party programs opening any files
> that change on the system and locking them down.  For example, real-time
> virus scanners, indexing software, and some builtin Win32 service that I
> haven't pinpointed yet (it runs under a generic svchost.exe on XP).
> These extremely annoying programs do not play nice and use
> FILE_SHARE_DELETE, at least not in my experience.
>
> There are large threads about this problem on the Subversion mailing
> list (search for 'access denied') and some mentions of it on the CVSNT
> mailing list, I believe.
>
> Subversion ended up with a looping hack for Win32, at least until
> something better is found.

We are going to use Claudio's fix, and do looping if the rename/unlink
fails, so I think we have it covered as best we can.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073