Re: Re: [PATCH v2 0/4] make open/unlink failures user friendly on windows using retry/abort
- From
Heiko Voigt <hvoigt@hvoigt.net>
- Date
- Nov 7, 2010, 17:06 UTC
- Message-ID
- <20101107170637.GA15123@book.hvoigt.net>
- In-Reply-To
- <201011071649.20617.j6t@kdbg.org>
Hi,
On Sun, Nov 07, 2010 at 04:49:20PM +0100, Johannes Sixt wrote:
Show 10 quoted lines
> On Sonntag, 7. November 2010, Heiko Voigt wrote: > > j6t: I have not changed your error code in mingw_rename since you > > explicitely compare with the windows error code ERROR_ACCESS_DENIED and > > do not use the err_win_to_posix() function. Did you do this on purpose or > > should I also refer to ERROR_SHARING_VIOLATION ? > > IIRC, I dumped the error code before I implemented the retry logic, and the > error was ERROR_ACCESS_DENIED. Did you verify that the occasions where you > want to retry the operations indeed fail due to ERROR_SHARING_VIOLATION, or > do you trust the documentation?
I tested this for my use case which is described by the manual testing script[1]. I ran it once to create the test structure and then from inside the test repository
./../block_read 5000 file
and manually checked out the other branch in parallel. In this situation git will stop with the retry question. But I am not sure which use case you where addressing. Do you have a script or some information to reproduce?
> In any case, it is better to check for the Windows error code (which ever you > finally choose) rather than errno, IMO.
I agree because that should give us more fine grained control and since in err_win_to_posix() many codes are mapped to EACCES.
Cheers Heiko
[1] http://groups.google.com/group/msysgit/msg/fcad5f1455b263ca