Merge branch 'js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix' into js/maint-send-pack-stateless-rpc-deadlock-fix
authorJunio C Hamano <gitster@pobox.com>
Thu, 5 May 2011 20:46:36 +0000 (13:46 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 May 2011 20:46:36 +0000 (13:46 -0700)
* js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix:
send-pack: unbreak push over stateless rpc

builtin-send-pack.c
index f6e99f5690a1a01209f6bf7b9f9f39bcb1572333..aef47f8611a6595d93e41902f84698a607fac616 100644 (file)
@@ -98,7 +98,6 @@ 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))
@@ -340,6 +339,8 @@ int send_pack(struct send_pack_args *args,
                if (pack_objects(out, remote_refs, extra_have, args) < 0) {
                        for (ref = remote_refs; ref; ref = ref->next)
                                ref->status = REF_STATUS_NONE;
+                       if (args->stateless_rpc)
+                               close(out);
                        if (use_sideband)
                                finish_async(&demux);
                        return -1;