From: Erik Faye-Lund Date: Mon, 07 Feb 2011 21:23:24 GMT Subject: Re: [msysGit] Re: [PATCH v4 5/5] mingw_rmdir: set errno=ENOTEMPTY when appropriate Message-ID: In-Reply-To: <20110207211844.GH63976@book.hvoigt.net> On Mon, Feb 7, 2011 at 10:18 PM, Heiko Voigt wrote: > On Mon, Feb 07, 2011 at 10:07:10PM +0100, Erik Faye-Lund wrote: >> On Mon, Feb 7, 2011 at 9:54 PM, Heiko Voigt wrote: >> > From: Johannes Schindelin >> > >> > On Windows, EACCES overrules ENOTEMPTY when calling rmdir(). But if the >> > directory is busy, we only want to retry deleting the directory if it >> > is empty, so test specifically for that case and set ENOTEMPTY rather >> > than EACCES. >> > >> >> I'm sorry, I don't quite understand. rmdir on Windows/MinGW fails with >> errno=ENOTEMPTY if a directory isn't empty: > > I think Johannes was referring to the case when a directory is busy. > E.g. a process is running that has its working directory inside that > directory. In that case ENOTEMPTY was not returned even though the > directory is not empty. Thats what I read from the patch. > I don't think that's the case either: $ echo "int main() { while (1); }" | gcc -x c - -o foo/bin.exe [kusma@HUE-PC:/git@work/xgetenv] $ foo/bin.exe & [2] 3188 [kusma@HUE-PC:/git@work/xgetenv] $ ./a.exe rmdir: Directory not empty errno: 41 (expected 41)