[PATCH] git-upload-pack: make sure we close unused pipe ends
- From
- H. Peter Anvin <hpa@zytor.com>
- Date
- Mar 27, 2007, 23:45 UTC
- Message-ID
- <200703272347.l2RNln90025931@tazenda.hos.anvin.org>
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> --- upload-pack.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/upload-pack.c b/upload-pack.c index 498bf50..d3a09e7 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)
-- 1.5.0.3