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.0.7~2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3ac53e0d13fa7483cce90eb6a1cfcdcbda5b8e35;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 (cherry picked from commit 465b3518a9ad5080a4b652ef35fb13c61a93e7a4) --- diff --git a/upload-pack.c b/upload-pack.c index 3648aae1a..044c33b09 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)