summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0ef617f)
raw | patch | inline | side by side (parent: 0ef617f)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Thu, 14 Feb 2008 23:25:33 +0000 (23:25 +0000) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 16 Feb 2008 07:21:56 +0000 (23:21 -0800) |
Before objects are sent, the respective ref is locked. However,
without this patch, the lock is lifted before the last object for
that ref was sent. As a consequence, the lock data was accessed
after the lock structure was free()d.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
without this patch, the lock is lifted before the last object for
that ref was sent. As a consequence, the lock data was accessed
after the lock structure was free()d.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-push.c | patch | blob | history |
diff --git a/http-push.c b/http-push.c
index b2b410df902f2a4f2bca634d82cf103d288c9042..386b806f3ec62c183752e5ec5b19920fc9bd4cf0 100644 (file)
--- a/http-push.c
+++ b/http-push.c
fill_active_slots();
add_fill_function(NULL, fill_active_slot);
#endif
- finish_all_active_slots();
+ do {
+ finish_all_active_slots();
+#ifdef USE_CURL_MULTI
+ fill_active_slots();
+#endif
+ } while (request_queue_head && !aborted);
/* Update the remote branch if all went well */
if (aborted || !update_remote(ref->new_sha1, ref_lock)) {