[PATCH 0/5] fork/exec removal series
- From
Johannes Sixt <johannes.sixt@telecom.at>
- Date
- Sep 30, 2007, 20:09 UTC
- Message-ID
- <1191183001-5368-1-git-send-email-johannes.sixt@telecom.at>
Here is a series of patches that removes a number fork/exec pairs. They are replaced by delegating to start_command/finish_command/run_command. You can regard this as the beginning of the MinGW port integration.
There still remain a few forks, which fall into these categories:
- They are in tools or code that are not (yet) ported to MinGW.[*]
- The fork()s are not followed by exec(). These need a different implementation. I am thinking of a start_coroutine()/finish_coroutine() API that is implemented with threads in MinGW. (Suggestions of a better as well as implementations are welcome.)
- The upload-pack case calls for an entirely different solution.
[*] Just this weekend Mike Pape ported git-daemon, but I didn't find the time to have it integrated in this series - if that were possible at all.
Patch 2 depends on Patch 1; otherwise, there are no dependencies. The series goes on top of next (it touches str_buf stuff in connect.c).
builtin-archive.c | 8 +-- builtin-fetch-pack.c | 63 ++++++++----------------- cache.h | 4 +- connect.c | 126 ++++++++++++++++++++++++-------------------------- convert.c | 36 ++++---------- diff.c | 38 +-------------- peek-remote.c | 8 +-- send-pack.c | 8 +-- transport.c | 9 +--- 9 files changed, 106 insertions(+), 194 deletions(-)
-- Hannes