summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 b1c018a089..40524a8593 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 146cf7bf36..08769cc7cd 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)