run-command API: move *_tr2() users to "run_processes_parallel()"
Have the users of the "run_processes_parallel_tr2()" function use
"run_processes_parallel()" instead. In preceding commits the latter
was refactored to take a "struct run_process_parallel_opts" argument,
since the only reason for "run_processes_parallel_tr2()" to exist was
to take arguments that are now a part of that struct we can do away
with it.
See ee4512ed48 (trace2: create new combined trace facility,
2019-02-22) for the addition of the "*_tr2()" variant of the function,
it was used by every caller except "t/helper/test-run-command.c"..
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
6e5ba0bae4
commit
36d69bf77e
@@ -1953,15 +1953,21 @@ static int fetch_multiple(struct string_list *list, int max_children)
|
|||||||
|
|
||||||
if (max_children != 1 && list->nr != 1) {
|
if (max_children != 1 && list->nr != 1) {
|
||||||
struct parallel_fetch_state state = { argv.v, list, 0, 0 };
|
struct parallel_fetch_state state = { argv.v, list, 0, 0 };
|
||||||
|
const struct run_process_parallel_opts opts = {
|
||||||
|
.tr2_category = "fetch",
|
||||||
|
.tr2_label = "parallel/fetch",
|
||||||
|
|
||||||
|
.processes = max_children,
|
||||||
|
|
||||||
|
.get_next_task = &fetch_next_remote,
|
||||||
|
.start_failure = &fetch_failed_to_start,
|
||||||
|
.task_finished = &fetch_finished,
|
||||||
|
.data = &state,
|
||||||
|
};
|
||||||
|
|
||||||
strvec_push(&argv, "--end-of-options");
|
strvec_push(&argv, "--end-of-options");
|
||||||
run_processes_parallel_tr2(max_children,
|
|
||||||
&fetch_next_remote,
|
|
||||||
&fetch_failed_to_start,
|
|
||||||
&fetch_finished,
|
|
||||||
&state,
|
|
||||||
"fetch", "parallel/fetch");
|
|
||||||
|
|
||||||
|
run_processes_parallel(&opts);
|
||||||
result = state.result;
|
result = state.result;
|
||||||
} else
|
} else
|
||||||
for (i = 0; i < list->nr; i++) {
|
for (i = 0; i < list->nr; i++) {
|
||||||
|
|||||||
@@ -2567,12 +2567,20 @@ static int update_submodules(struct update_data *update_data)
|
|||||||
{
|
{
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
struct submodule_update_clone suc = SUBMODULE_UPDATE_CLONE_INIT;
|
struct submodule_update_clone suc = SUBMODULE_UPDATE_CLONE_INIT;
|
||||||
|
const struct run_process_parallel_opts opts = {
|
||||||
|
.tr2_category = "submodule",
|
||||||
|
.tr2_label = "parallel/update",
|
||||||
|
|
||||||
|
.processes = update_data->max_jobs,
|
||||||
|
|
||||||
|
.get_next_task = update_clone_get_next_task,
|
||||||
|
.start_failure = update_clone_start_failure,
|
||||||
|
.task_finished = update_clone_task_finished,
|
||||||
|
.data = &suc,
|
||||||
|
};
|
||||||
|
|
||||||
suc.update_data = update_data;
|
suc.update_data = update_data;
|
||||||
run_processes_parallel_tr2(suc.update_data->max_jobs, update_clone_get_next_task,
|
run_processes_parallel(&opts);
|
||||||
update_clone_start_failure,
|
|
||||||
update_clone_task_finished, &suc, "submodule",
|
|
||||||
"parallel/update");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We saved the output and put it out all at once now.
|
* We saved the output and put it out all at once now.
|
||||||
|
|||||||
@@ -1827,24 +1827,6 @@ void run_processes_parallel(const struct run_process_parallel_opts *opts)
|
|||||||
trace2_region_leave(tr2_category, tr2_label, NULL);
|
trace2_region_leave(tr2_category, tr2_label, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_processes_parallel_tr2(size_t processes, get_next_task_fn get_next_task,
|
|
||||||
start_failure_fn start_failure,
|
|
||||||
task_finished_fn task_finished, void *pp_cb,
|
|
||||||
const char *tr2_category, const char *tr2_label)
|
|
||||||
{
|
|
||||||
const struct run_process_parallel_opts opts = {
|
|
||||||
.tr2_category = tr2_category,
|
|
||||||
.tr2_label = tr2_label,
|
|
||||||
.processes = processes,
|
|
||||||
|
|
||||||
.get_next_task = get_next_task,
|
|
||||||
.start_failure = start_failure,
|
|
||||||
.task_finished = task_finished,
|
|
||||||
};
|
|
||||||
|
|
||||||
run_processes_parallel(&opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
int run_auto_maintenance(int quiet)
|
int run_auto_maintenance(int quiet)
|
||||||
{
|
{
|
||||||
int enabled;
|
int enabled;
|
||||||
|
|||||||
@@ -528,9 +528,6 @@ struct run_process_parallel_opts
|
|||||||
* conditions due to writing in parallel to stdout and stderr.
|
* conditions due to writing in parallel to stdout and stderr.
|
||||||
*/
|
*/
|
||||||
void run_processes_parallel(const struct run_process_parallel_opts *opts);
|
void run_processes_parallel(const struct run_process_parallel_opts *opts);
|
||||||
void run_processes_parallel_tr2(size_t processes, get_next_task_fn,
|
|
||||||
start_failure_fn, task_finished_fn, void *pp_cb,
|
|
||||||
const char *tr2_category, const char *tr2_label);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience function which prepares env for a command to be run in a
|
* Convenience function which prepares env for a command to be run in a
|
||||||
|
|||||||
18
submodule.c
18
submodule.c
@@ -1819,6 +1819,17 @@ int fetch_submodules(struct repository *r,
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct submodule_parallel_fetch spf = SPF_INIT;
|
struct submodule_parallel_fetch spf = SPF_INIT;
|
||||||
|
const struct run_process_parallel_opts opts = {
|
||||||
|
.tr2_category = "submodule",
|
||||||
|
.tr2_label = "parallel/fetch",
|
||||||
|
|
||||||
|
.processes = max_parallel_jobs,
|
||||||
|
|
||||||
|
.get_next_task = get_next_submodule,
|
||||||
|
.start_failure = fetch_start_failure,
|
||||||
|
.task_finished = fetch_finish,
|
||||||
|
.data = &spf,
|
||||||
|
};
|
||||||
|
|
||||||
spf.r = r;
|
spf.r = r;
|
||||||
spf.command_line_option = command_line_option;
|
spf.command_line_option = command_line_option;
|
||||||
@@ -1840,12 +1851,7 @@ int fetch_submodules(struct repository *r,
|
|||||||
|
|
||||||
calculate_changed_submodule_paths(r, &spf.changed_submodule_names);
|
calculate_changed_submodule_paths(r, &spf.changed_submodule_names);
|
||||||
string_list_sort(&spf.changed_submodule_names);
|
string_list_sort(&spf.changed_submodule_names);
|
||||||
run_processes_parallel_tr2(max_parallel_jobs,
|
run_processes_parallel(&opts);
|
||||||
get_next_submodule,
|
|
||||||
fetch_start_failure,
|
|
||||||
fetch_finish,
|
|
||||||
&spf,
|
|
||||||
"submodule", "parallel/fetch");
|
|
||||||
|
|
||||||
if (spf.submodules_with_errors.len > 0)
|
if (spf.submodules_with_errors.len > 0)
|
||||||
fprintf(stderr, _("Errors during submodule fetch:\n%s"),
|
fprintf(stderr, _("Errors during submodule fetch:\n%s"),
|
||||||
|
|||||||
Reference in New Issue
Block a user