From b3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283 Mon Sep 17 00:00:00 2001 From: Nick Hengeveld Date: Tue, 6 Jun 2006 09:41:32 -0700 Subject: [PATCH] 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 Signed-off-by: Junio C Hamano --- http-push.c | 8 ++++++++ http.c | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/http-push.c b/http-push.c index b1c018a08..40524a859 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 146cf7bf3..08769cc7c 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) -- 2.30.2