Code

Fix broken slot reuse when fetching alternates
authorNick Hengeveld <nickh@reactrix.com>
Wed, 15 Mar 2006 16:59:52 +0000 (08:59 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 15 Mar 2006 17:10:41 +0000 (09:10 -0800)
When fetching alternates, http-fetch may reuse the slot to fetch non-http
alternates if http-alternates does not exist.  When doing so, it now needs
to update the slot's finished status so run_active_slot waits for the
non-http alternates request to finish.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
http-fetch.c

index 8fd9de081fc636dc2d5010caea9686caa901c91f..7de818b109bb057e089da8d086396196c958f444 100644 (file)
@@ -468,9 +468,13 @@ static void process_alternates_response(void *callback_data)
                                         alt_req->url);
                        active_requests++;
                        slot->in_use = 1;
+                       if (slot->finished != NULL)
+                               (*slot->finished) = 0;
                        if (!start_active_slot(slot)) {
                                got_alternates = -1;
                                slot->in_use = 0;
+                               if (slot->finished != NULL)
+                                       (*slot->finished) = 1;
                        }
                        return;
                }