diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-03-27 16:45:06 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-03-29 01:41:23 -0700 |
commit | 3ac53e0d13fa7483cce90eb6a1cfcdcbda5b8e35 (patch) | |
tree | 42854e6d306ac2ea13bcdcb1f258c77f080a1abf /upload-pack.c | |
parent | Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES. (diff) | |
download | tgif-3ac53e0d13fa7483cce90eb6a1cfcdcbda5b8e35.tar.xz |
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 <Johannes.Schindelin@gmx.de> 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 <hpa@zytor.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from commit 465b3518a9ad5080a4b652ef35fb13c61a93e7a4)
Diffstat (limited to 'upload-pack.c')
-rw-r--r-- | upload-pack.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) |