From: Junio C Hamano Date: Mon, 05 Aug 2013 16:56:19 GMT Subject: Re: About close() in commit_lock_file() Message-ID: <7vli4gkrf0.fsf@alter.siamese.dyndns.org> In-Reply-To: Duy Nguyen writes: > close() is added in commit_lock_file(), before rename(), by 4723ee9 > (Close files opened by lock_file() before unlinking. - 2007-11-13), > which is needed by Windows. But doesn't that create a gap between > close() and rename() on other platforms where another process can > replace .lock file with something else before rename() is executed? Interesting. > Should we enclose close() in #ifdef __MINGW32__ (and maybe > __CYGWIN__)? Or just have "close and retry" code after seeing rename() fails with some known errno, without singling out a particular platform?