[PATCH 2/5] run-command: Call get_next_task with a clean child process.
- From
Stefan Beller <sbeller@google.com>
- Date
- Oct 19, 2015, 18:24 UTC
- Message-ID
- <1445279086-31066-3-git-send-email-sbeller@google.com>
- In-Reply-To
- <1445279086-31066-1-git-send-email-sbeller@google.com>
If the `get_next_task` did not explicitly called child_process_init and only filled in some fields, there may have been some stale data in the child process. This is hard to debug and also adds a review burden for each new user of that API. To improve the situation, we pass only cleanly initialized child structs to the get_next_task.
Signed-off-by: Stefan Beller <sbeller@google.com> --- run-command.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/run-command.c b/run-command.c index 8f47c6e..b8b5747 100644 --- a/run-command.c +++ b/run-command.c @@ -1010,6 +1010,8 @@ static int pp_start_one(struct parallel_processes *pp) if (i == pp->max_processes) die("BUG: bookkeeping is hard"); + child_process_init(&pp->children[i].process); + if (!pp->get_next_task(&pp->children[i].data, &pp->children[i].process, &pp->children[i].err,
-- 2.5.0.285.g8fe9b61.dirty