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

[PATCH 2/7] run-command: expose default_{start_failure, task_finished}

From
Stefan Beller <sbeller@google.com>
Date
Feb 25, 2016, 01:42 UTC
Message-ID
<1456364525-21190-3-git-send-email-sbeller@google.com>
In-Reply-To
<1456364525-21190-1-git-send-email-sbeller@google.com>
We want to reuse the error reporting facilities in a later patch.
Signed-off-by: Stefan Beller <sbeller@google.com>
---
 run-command.c | 18 +++++++++---------
 run-command.h | 19 +++++++++++++++++++
 2 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/run-command.c b/run-command.c
index 1f86728..71abafb 100644
--- a/run-command.c
+++ b/run-command.c
@@ -902,10 +902,10 @@ struct parallel_processes {
 	struct strbuf buffered_output; /* of finished children */
 };
 
-static int default_start_failure(struct child_process *cp,
-				 struct strbuf *err,
-				 void *pp_cb,
-				 void *pp_task_cb)
+int default_start_failure(struct child_process *cp,
+			  struct strbuf *err,
+			  void *pp_cb,
+			  void *pp_task_cb)
 {
 	int i;
 
@@ -916,11 +916,11 @@ static int default_start_failure(struct child_process *cp,
 	return 0;
 }
 
-static int default_task_finished(int result,
-				 struct child_process *cp,
-				 struct strbuf *err,
-				 void *pp_cb,
-				 void *pp_task_cb)
+int default_task_finished(int result,
+			  struct child_process *cp,
+			  struct strbuf *err,
+			  void *pp_cb,
+			  void *pp_task_cb)
 {
 	int i;
 
diff --git a/run-command.h b/run-command.h
index d5a57f9..a054fa6 100644
--- a/run-command.h
+++ b/run-command.h
@@ -164,6 +164,15 @@ typedef int (*start_failure_fn)(struct child_process *cp,
 				void *pp_task_cb);
 
 /**
+ * If a command fails to start, then print an error message stating the
+ * exact command which failed.
+ */
+int default_start_failure(struct child_process *cp,
+			  struct strbuf *err,
+			  void *pp_cb,
+			  void *pp_task_cb);
+
+/**
  * This callback is called on every child process that finished processing.
  *
  * You must not write to stdout or stderr in this function. Add your
@@ -184,6 +193,16 @@ typedef int (*task_finished_fn)(int result,
 				void *pp_task_cb);
 
 /**
+ * If the child process returns with a non zero error code, print
+ * an error message of the exact command which failed.
+ */
+int default_task_finished(int result,
+			  struct child_process *cp,
+			  struct strbuf *err,
+			  void *pp_cb,
+			  void *pp_task_cb);
+
+/**
  * Runs up to n processes at the same time. Whenever a process can be
  * started, the callback get_next_task_fn is called to obtain the data
  * required to start another child process.
-- 
2.7.2.335.g3f96d05
Previous: Stefan BellerNext: Stefan Beller
Message 3 of 10 in “[PATCHv16 0/7] Expose submodule parallelism to the user”
  1. Stefan BellerFeb 25, 2016
  2. 1/7 run_processes_parallel: treat output of children as byte arrayStefan Beller, Feb 25, 2016
  3. 2/7 run-command: expose default_{start_failure, task_finished}Stefan Beller, Feb 25, 2016
  4. 3/7 run_processes_parallel: rename parameters for the callbacksStefan Beller, Feb 25, 2016
  5. Jonathan NiederFeb 25, 2016
  6. 4/7 run_processes_parallel: correctly terminate callbacks with an LFStefan Beller, Feb 25, 2016
  7. 5/7 git submodule update: have a dedicated helper for cloningStefan Beller, Feb 25, 2016
  8. 6/7 submodule update: expose parallelism to the userStefan Beller, Feb 25, 2016
  9. 7/7 clone: allow an explicit argument for parallel submodule clonesStefan Beller, Feb 25, 2016
  10. Jonathan NiederFeb 25, 2016

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.