summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Hengeveld <nickh@reactrix.com>2006-06-06 16:41:32 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-06 21:18:00 (GMT)
commitb3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283 (patch)
tree09e986524a45748ea0ef67b7188404d9f8bb11df
parentefd0201684c6e9bf663811dc849590b8fe27b8b2 (diff)
downloadgit-b3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283.zip
git-b3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283.tar.gz
git-b3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283.tar.bz2
HTTP cleanup
Fix broken build when USE_CURL_MULTI is not defined, as noted by Becky Bruce. During cleanup, free header slist that was created during init, as noted by Junio. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--http-push.c8
-rw-r--r--http.c7
2 files changed, 14 insertions, 1 deletions
diff --git a/http-push.c b/http-push.c
index b1c018a..40524a8 100644
--- a/http-push.c
+++ b/http-push.c
@@ -788,6 +788,7 @@ static void finish_request(struct transfer_request *request)
}
}
+#ifdef USE_CURL_MULTI
void fill_active_slots(void)
{
struct transfer_request *request = request_queue_head;
@@ -821,6 +822,7 @@ void fill_active_slots(void)
slot = slot->next;
}
}
+#endif
static void get_remote_object_list(unsigned char parent);
@@ -851,8 +853,10 @@ static void add_fetch_request(struct object *obj)
request->next = request_queue_head;
request_queue_head = request;
+#ifdef USE_CURL_MULTI
fill_active_slots();
step_active_slots();
+#endif
}
static int add_send_request(struct object *obj, struct remote_lock *lock)
@@ -889,8 +893,10 @@ static int add_send_request(struct object *obj, struct remote_lock *lock)
request->next = request_queue_head;
request_queue_head = request;
+#ifdef USE_CURL_MULTI
fill_active_slots();
step_active_slots();
+#endif
return 1;
}
@@ -2523,7 +2529,9 @@ int main(int argc, char **argv)
if (objects_to_send)
fprintf(stderr, " sending %d objects\n",
objects_to_send);
+#ifdef USE_CURL_MULTI
fill_active_slots();
+#endif
finish_all_active_slots();
/* Update the remote branch if all went well */
diff --git a/http.c b/http.c
index 146cf7b..08769cc 100644
--- a/http.c
+++ b/http.c
@@ -286,7 +286,8 @@ void http_cleanup(void)
curl_multi_cleanup(curlm);
#endif
curl_global_cleanup();
-
+
+ curl_slist_free_all(pragma_header);
}
struct active_request_slot *get_active_slot(void)
@@ -438,11 +439,15 @@ void release_active_slot(struct active_request_slot *slot)
{
closedown_active_slot(slot);
if (slot->curl) {
+#ifdef USE_CURL_MULTI
curl_multi_remove_handle(curlm, slot->curl);
+#endif
curl_easy_cleanup(slot->curl);
slot->curl = NULL;
}
+#ifdef USE_CURL_MULTI
fill_active_slots();
+#endif
}
static void finish_active_slot(struct active_request_slot *slot)