From 3ac53e0d13fa7483cce90eb6a1cfcdcbda5b8e35 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Tue, 27 Mar 2007 16:45:06 -0700 Subject: [PATCH] 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) --- upload-pack.c | 1 + 1 file changed, 1 insertion(+) diff --git a/upload-pack.c b/upload-pack.c index 3648aae1a7..044c33b090 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) -- 2.11.4.GIT