From: Heiko Voigt Date: Sun, 07 Nov 2010 17:06:38 GMT Subject: Re: Re: [PATCH v2 0/4] make open/unlink failures user friendly on windows using retry/abort 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: > 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