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