Sander Striker wrote:
>>From: Branko Cibej [mailto:brane@xbc.nu]
>>Sent: Monday, October 27, 2003 11:50 PM
>
>
>>This actually works out of the box with APR (see the attached test
>>program). If course, it won't work on Win9x. But I think it's worth a try.
>
>
> (This == rename with file handle still open)
>
> I think we should go this route _and_ provide a fallback for Win9x.
> Unfortunately there is still a large installation base of 9x.
>
>
> Sander
>
After some experimentation prompted by Brane, I found that renaming
while the file was still open did not work for me (testing with AV
software which easily recreates the problem we see) -- that is, the
algorithm is fine and works if other apps don't interfere. But the AV
software doesn't even wait for a close before it opens the file (without
FILE_SHARE_DELETE) so we can't rename it.
If someone else wants to test this, in case it's just our AV software
and not the general problem (I kind of doubt it, though), just move the
apr_file_close and error check after the if (sync) block in
libsvn_wc\adm_files.c in the close_adm_file function (I don't have a
patch handy). This was the source of 95% of the failures I saw. With
our AV software off, it worked fine, but with it on I saw the same
problem with no noticeable improvement.
I also played with the FileNotification services that Windows provides
which is probably how trailer-apps are knowing what files to hit. These
APIs can give you notifications as soon as files are created, and every
time they are changed -- they don't wait for file closure to send the
notifications. So, it appears to me that we're back in the retry boat,
although I would love for someone to prove otherwise.
DJ
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 29 15:59:01 2003