On Fri, Jan 09, 2009 at 11:36:41AM +0100, Johannes Sixt wrote: > 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). Good point. > I'll test your other patch (that replaces the execvp in git.c by run_command). Note that it only covers the case of external commands. Hitting ctrl-c to interrupt git will still cause funniness. For that we need to intercept signals to call wait_for_pager(). But there is a slight snag: we also intercept signals elsewhere (e.g., for tempfile cleanup). So we need to start remembering the old signal handlers everywhere and chaining to them. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html