diff options
-rw-r--r-- | src/tool_operate.c | 67 |
1 files changed, 35 insertions, 32 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index c89db4843..c2fed998c 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -108,9 +108,9 @@ static CURLcode single_transfer(struct GlobalConfig *global, CURLSH *share, bool capath_from_env, bool *added); -static CURLcode get_transfer(struct GlobalConfig *global, - CURLSH *share, - bool *added); +static CURLcode create_transfer(struct GlobalConfig *global, + CURLSH *share, + bool *added); static bool is_fatal_error(CURLcode code) { @@ -204,7 +204,9 @@ static curl_off_t VmsSpecialSize(const char *name, struct per_transfer *transfers; /* first node */ static struct per_transfer *transfersl; /* last node */ -static CURLcode add_transfer(struct per_transfer **per) +/* add_per_transfer creates a new 'per_transfer' node in the linked + list of transfers */ +static CURLcode add_per_transfer(struct per_transfer **per) { struct per_transfer *p; p = calloc(sizeof(struct per_transfer), 1); @@ -228,7 +230,7 @@ static CURLcode add_transfer(struct per_transfer **per) /* Remove the specified transfer from the list (and free it), return the next in line */ -static struct per_transfer *del_transfer(struct per_transfer *per) +static struct per_transfer *del_per_transfer(struct per_transfer *per) { struct per_transfer *n; struct per_transfer *p; @@ -326,10 +328,10 @@ static CURLcode pre_transfer(struct GlobalConfig *global, /* * Call this after a transfer has completed. */ -static CURLcode post_transfer(struct GlobalConfig *global, - struct per_transfer *per, - CURLcode result, - bool *retryp) +static CURLcode post_per_transfer(struct GlobalConfig *global, + struct per_transfer *per, + CURLcode result, + bool *retryp) { struct OutStruct *outs = &per->outs; CURL *curl = per->curl; @@ -839,7 +841,7 @@ static CURLcode single_transfer(struct GlobalConfig *global, struct OutStruct *heads; struct HdrCbData *hdrcbdata = NULL; CURL *curl = curl_easy_init(); - result = add_transfer(&per); + result = add_per_transfer(&per); if(result || !curl) { curl_easy_cleanup(curl); result = CURLE_OUT_OF_MEMORY; @@ -1956,7 +1958,7 @@ static CURLcode add_parallel_transfers(struct GlobalConfig *global, CURLMcode mcode; *addedp = FALSE; *morep = FALSE; - result = get_transfer(global, share, addedp); + result = create_transfer(global, share, addedp); if(result || !*addedp) return result; for(per = transfers; per && (all_added < global->parallel_max); @@ -1977,8 +1979,8 @@ static CURLcode add_parallel_transfers(struct GlobalConfig *global, mcode = curl_multi_add_handle(multi, per->curl); if(mcode) return CURLE_OUT_OF_MEMORY; - /* get the next transfer created */ - result = get_transfer(global, share, &getadded); + + result = create_transfer(global, share, &getadded); if(result) return result; per->added = TRUE; @@ -2030,13 +2032,13 @@ static CURLcode parallel_transfers(struct GlobalConfig *global, curl_easy_getinfo(easy, CURLINFO_PRIVATE, (void *)&ended); curl_multi_remove_handle(multi, easy); - result = post_transfer(global, ended, result, &retry); + result = post_per_transfer(global, ended, result, &retry); if(retry) continue; progress_finalize(ended); /* before it goes away */ all_added--; /* one fewer added */ removed = TRUE; - (void)del_transfer(ended); + (void)del_per_transfer(ended); } } while(msg); if(removed) { @@ -2074,7 +2076,7 @@ static CURLcode serial_transfers(struct GlobalConfig *global, struct per_transfer *per; bool added = FALSE; - result = get_transfer(global, share, &added); + result = create_transfer(global, share, &added); if(result || !added) return result; for(per = transfers; per;) { @@ -2101,7 +2103,7 @@ static CURLcode serial_transfers(struct GlobalConfig *global, /* store the result of the actual transfer */ returncode = result; - result = post_transfer(global, per, result, &retry); + result = post_per_transfer(global, per, result, &retry); if(retry) continue; @@ -2111,7 +2113,7 @@ static CURLcode serial_transfers(struct GlobalConfig *global, bailout = TRUE; else { /* setup the next one just before we delete this */ - result = get_transfer(global, share, &added); + result = create_transfer(global, share, &added); if(result) bailout = TRUE; } @@ -2119,7 +2121,7 @@ static CURLcode serial_transfers(struct GlobalConfig *global, /* Release metalink related resources here */ delete_metalinkfile(per->mlfile); - per = del_transfer(per); + per = del_per_transfer(per); if(bailout) break; @@ -2134,10 +2136,11 @@ static CURLcode serial_transfers(struct GlobalConfig *global, return result; } -static CURLcode operate_do(struct GlobalConfig *global, - struct OperationConfig *config, - CURLSH *share, - bool *added) +/* setup a transfer for the given config */ +static CURLcode transfer_per_config(struct GlobalConfig *global, + struct OperationConfig *config, + CURLSH *share, + bool *added) { CURLcode result = CURLE_OK; bool capath_from_env; @@ -2236,17 +2239,17 @@ static CURLcode operate_do(struct GlobalConfig *global, } /* - * 'get_transfer' gets the details and sets up *one* new transfer if 'added' + * 'create_transfer' gets the details and sets up a new transfer if 'added' * returns TRUE. */ -static CURLcode get_transfer(struct GlobalConfig *global, - CURLSH *share, - bool *added) +static CURLcode create_transfer(struct GlobalConfig *global, + CURLSH *share, + bool *added) { CURLcode result = CURLE_OK; *added = FALSE; while(global->current) { - result = operate_do(global, global->current, share, added); + result = transfer_per_config(global, global->current, share, added); if(!result && !*added) { /* when one set is drained, continue to next */ global->current = global->current->next; @@ -2257,7 +2260,7 @@ static CURLcode get_transfer(struct GlobalConfig *global, return result; } -static CURLcode operate_transfers(struct GlobalConfig *global, +static CURLcode run_all_transfers(struct GlobalConfig *global, CURLSH *share, CURLcode result) { @@ -2277,7 +2280,7 @@ static CURLcode operate_transfers(struct GlobalConfig *global, /* cleanup if there are any left */ for(per = transfers; per;) { bool retry; - CURLcode result2 = post_transfer(global, per, result, &retry); + CURLcode result2 = post_per_transfer(global, per, result, &retry); if(!result) /* don't overwrite the original error */ result = result2; @@ -2287,7 +2290,7 @@ static CURLcode operate_transfers(struct GlobalConfig *global, /* Release metalink related resources here */ clean_metalink(per->config); - per = del_transfer(per); + per = del_per_transfer(per); } /* Reset the global config variables */ @@ -2383,7 +2386,7 @@ CURLcode operate(struct GlobalConfig *global, int argc, argv_item_t argv[]) global->current = global->first; /* now run! */ - result = operate_transfers(global, share, result); + result = run_all_transfers(global, share, result); curl_share_cleanup(share); #ifndef CURL_DISABLE_LIBCURL_OPTION |