diff options
author | Nick Hengeveld <nickh@reactrix.com> | 2006-01-31 11:06:55 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-01-31 16:17:24 -0800 |
commit | c8568e139ed2149fbfb7ef9a8d819d5b6b7c554f (patch) | |
tree | e44ab4d957ab445b6c1e5f3479f8c27c02ce3ab7 /http.c | |
parent | 7ec57556b29c3ed42769c122228ee4621676b642 (diff) | |
download | git-c8568e139ed2149fbfb7ef9a8d819d5b6b7c554f.tar.gz |
Fix HTTP request result processing after slot reuse
Add a way to store the results of an HTTP request when a slot finishes
so the results can be processed after the slot has been reused.
Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'http.c')
-rw-r--r-- | http.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -335,6 +335,7 @@ struct active_request_slot *get_active_slot(void) active_requests++; slot->in_use = 1; slot->local = NULL; + slot->results = NULL; slot->callback_data = NULL; slot->callback_func = NULL; curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, pragma_header); @@ -421,7 +422,13 @@ static void finish_active_slot(struct active_request_slot *slot) active_requests--; slot->in_use = 0; curl_easy_getinfo(slot->curl, CURLINFO_HTTP_CODE, &slot->http_code); - + + /* Store slot results so they can be read after the slot is reused */ + if (slot->results != NULL) { + slot->results->curl_result = slot->curl_result; + slot->results->http_code = slot->http_code; + } + /* Run callback if appropriate */ if (slot->callback_func != NULL) { slot->callback_func(slot->callback_data); |