"Shawn O. Pearce" wrote: > AFAIK there's not a strong reason to keep fork() in Git. > > Currently anytime we fork a process its to perform a small amount > of file descriptor redirection and then immediately exec some other > executable, or a hook script. In other words we probably could > convert all current uses of fork to something like in run-command.c, > which a Windows port could then easily replace using CreateProcess(). > > But removing fork isn't worth doing until someone is seriously > trying to port Git onto Windows without Cygwin. The current code > works on sane OSes and isn't broken, so why fix it? I'm doing just that (MinGW port). I've come up with a function spawnvpe_pipe(), which hides all the scary details of fork+exec with dup2's and close's. It could probably easily be merged into run_command(), but I haven't tried that, yet. I'll try to push out what I have to repo.or.cz over the weekend. -- Hannes - 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