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

[PATCHv20 06/12] run-command: expose default_{start_failure, task_finished}

From
Stefan Beller <sbeller@google.com>
Date
Feb 29, 2016, 19:14 UTC
Message-ID
<1456773250-5510-7-git-send-email-sbeller@google.com>
In-Reply-To
<1456773250-5510-1-git-send-email-sbeller@google.com>
We want to reuse the error reporting facilities in a later patch.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.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 2f8f222..c9b13cf 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.0.rc0.37.gb7b9e8e
Previous: Stefan BellerNext: Stefan Beller
Message 7 of 16 in “[PATCHv20 00/12] Expose submodule parallelism to the user”
  1. Stefan BellerFeb 29, 2016
  2. 01/12 submodule-config: keep update strategy aroundStefan Beller, Feb 29, 2016
  3. 02/12 submodule-config: drop check against NULLStefan Beller, Feb 29, 2016
  4. 03/12 fetching submodules: respect `submodule.fetchJobs` config optionStefan Beller, Feb 29, 2016
  5. 04/12 submodule update: direct error message to stderrStefan Beller, Feb 29, 2016
  6. 05/12 run_processes_parallel: treat output of children as byte arrayStefan Beller, Feb 29, 2016
  7. 06/12 run-command: expose default_{start_failure, task_finished}Stefan Beller, Feb 29, 2016
  8. 07/12 run_processes_parallel: rename parameters for the callbacksStefan Beller, Feb 29, 2016
  9. 08/12 run_processes_parallel: correctly terminate callbacks with an LFStefan Beller, Feb 29, 2016
  10. 09/12 git submodule update: have a dedicated helper for cloningStefan Beller, Feb 29, 2016
  11. 10/12 submodule helper: remove double 'fatal: ' prefixStefan Beller, Feb 29, 2016
  12. 11/12 submodule update: expose parallelism to the userStefan Beller, Feb 29, 2016
  13. 12/12 clone: allow an explicit argument for parallel submodule clonesStefan Beller, Feb 29, 2016
  14. Jonathan NiederFeb 29, 2016
  15. Stefan BellerFeb 29, 2016
  16. Junio C HamanoFeb 29, 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.