On Wed, Apr 12, 2017 at 02:27:05AM +0200, SZEDER Gábor wrote: > >> I wonder if you could make it a general test-lib function, like: > >> > >> run_and_wait () { > >> # we read stdout from the child only for the side effect > >> # of waiting until all child sub-processes exit, closing their > >> # fd 9. > >> does_not_matter=$("$@" 9>&1) > > > > > > I'm afraid this won't work on Windows when the invoked command is git. FD > > inheritance between MSYS (bash) and non-MSYS programs (git) is only > > implemented for FDs 0,1,2. That's a deficiency of MSYS, and I don't think > > that was improved in MSYS2. > > Oh, that's a pity, I was almost ready with v2... > > Unfortunately, this makes the general helper function unworkable, of > course. Though in this particular case it wouldn't matter, because on > Windows daemonize() is basically a noop and 'git gc --auto' remains in > the foreground anyway. That makes it tempting to use in this scenario as a one-off with a comment. > I think we should stick with my initial patch, then. I'm not entirely opposed, but my understanding was that it didn't actually fix the race, it just made it a bit bigger. Which is sort of unsatisfying. I couldn't get the original to show a failure, though, even under heavy load. So maybe widening the race is enough. -Peff