git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 12 in “Fixes for the parallel processing”
  1. 0/5 Fixes for the parallel processingStefan Beller, Oct 19, 2015
  2. 1/5 run-command: Fix early shutdownStefan Beller, Oct 19, 2015
  3. Junio C HamanoOct 20, 2015
  4. 2/5 run-command: Call get_next_task with a clean child process.Stefan Beller, Oct 19, 2015
  5. Junio C HamanoOct 20, 2015
  6. Stefan BellerOct 20, 2015
  7. 3/5 run-command: Initialize the shutdown flagStefan Beller, Oct 19, 2015
  8. 4/5 test-run-command: test for gracefully abortingStefan Beller, Oct 19, 2015
  9. 5/5 test-run-command: Increase test coverageStefan Beller, Oct 19, 2015
  10. Junio C HamanoOct 20, 2015
  11. Stefan BellerOct 20, 2015
  12. 6/5 run-command: Fix missing output from late callbacksStefan Beller, Oct 20, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.