Re: Funny: git -p submodule summary
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Jan 9, 2009, 10:36 UTC
- Message-ID
- <496728B9.7090200@viscovery.net>
- In-Reply-To
- <20090109101335.GA4346@coredump.intra.peff.net>
Jeff King schrieb:
Show 13 quoted lines
> On Fri, Jan 09, 2009 at 11:09:08AM +0100, Johannes Sixt wrote: > >>> Below is a patch that uses the three-process mechanism, and it fixes the >>> problem. _But_ it is not satisfactory for inclusion, because it won't >>> work on MINGW32. Since it is actually splitting git into two processes >>> (one to monitor the pager and one to actually run git), it uses fork. >> We have start_async()/finish_async() to replace a fork() of the sort that >> we have here. > > It looks like start_async is implemented using threads on Windows. Will > that survive an execvp call? Because we don't know at this point whether > we are going to actually run builtin code, or if we will exec an > external.
Ah, no, it would not survive.
But there's a more serious problem why we cannot use start_async() in its current form: It expects that there is a *function* that produces the output; but here we don't have a function - output is produced by *returning* (from setup_pager).
I'll test your other patch (that replaces the execvp in git.c by run_command).
-- Hannes