From: H. Peter Anvin Date: Tue, 27 Mar 2007 23:45:06 +0000 (-0700) Subject: git-upload-pack: make sure we close unused pipe ends X-Git-Tag: v1.5.1-rc3~9 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=465b3518a9ad5080a4b652ef35fb13c61a93e7a4;p=git.git git-upload-pack: make sure we close unused pipe ends Right now, we don't close the read end of the pipe when git-upload-pack runs git-pack-object, so we hang forever (why don't we get SIGALRM?) instead of dying with SIGPIPE if the latter dies, which seems to be the norm if the client disconnects. Thanks to Johannes Schindelin for pointing out where this close() needed to go. This patch has been tested on kernel.org for several weeks and appear to resolve the problem of git-upload-pack processes hanging around forever. Signed-off-by: H. Peter Anvin Signed-off-by: Junio C Hamano --- diff --git a/upload-pack.c b/upload-pack.c index 498bf50eb..d3a09e78d 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -119,6 +119,7 @@ static void create_pack_file(void) int i; struct rev_info revs; + close(lp_pipe[0]); pack_pipe = fdopen(lp_pipe[1], "w"); if (create_full_pack)