summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-04-25 15:20:39 -0700
committerJunio C Hamano <gitster@pobox.com>2011-04-25 15:23:23 -0700
commit73776dc1ebb61bc797e9f2fcfdfcd773511dfb8a (patch)
tree2056157e6ce9687b6ab843cdba4afcf512ecd4da
parentf6b6098316192475ff0b3fa2ba894d7e555bdfac (diff)
parent09c9957cf77106ca6b49127d5df20080922c81a4 (diff)
downloadgit-73776dc1ebb61bc797e9f2fcfdfcd773511dfb8a.tar.gz
Merge branch 'js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix' into js/maint-send-pack-stateless-rpc-deadlock-fix
* js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix: send-pack: avoid deadlock when pack-object dies early Evil merge to adjust the way the use of pthreads in sideband-demultiplexor was decided (earlier it was "if we are not on Windows", now it is "if we are not using pthreads").
-rw-r--r--builtin-send-pack.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/builtin-send-pack.c b/builtin-send-pack.c
index 6019eac918..f6e99f5690 100644
--- a/builtin-send-pack.c
+++ b/builtin-send-pack.c
@@ -98,6 +98,7 @@ static int pack_objects(int fd, struct ref *refs, struct extra_have_objects *ext
free(buf);
close(po.out);
po.out = -1;
+ close(fd);
}
if (finish_command(&po))
@@ -226,6 +227,9 @@ static void print_helper_status(struct ref *ref)
static int sideband_demux(int in, int out, void *data)
{
int *fd = data;
+#ifdef NO_PTHREADS
+ close(fd[1]);
+#endif
int ret = recv_sideband("send-pack", fd[0], out);
close(out);
return ret;