Merge branch 'jc/fsck-nul-in-commit' into maint
[gitweb.git] / run-command.h
index d5a57f922781de57d8ee6ae56f90af1456ccd5d5..49ba764c6c1d6b6d14e2e1cd56f3a5b6e8a37c12 100644 (file)
@@ -116,11 +116,13 @@ struct async {
        int proc_in;
        int proc_out;
 #endif
+       int isolate_sigpipe;
 };
 
 int start_async(struct async *async);
 int finish_async(struct async *async);
 int in_async(void);
+void NORETURN async_exit(int code);
 
 /**
  * This callback should initialize the child process and preload the
@@ -158,8 +160,7 @@ typedef int (*get_next_task_fn)(struct child_process *cp,
  * To send a signal to other child processes for abortion, return
  * the negative signal number.
  */
-typedef int (*start_failure_fn)(struct child_process *cp,
-                               struct strbuf *err,
+typedef int (*start_failure_fn)(struct strbuf *err,
                                void *pp_cb,
                                void *pp_task_cb);
 
@@ -178,7 +179,6 @@ typedef int (*start_failure_fn)(struct child_process *cp,
  * the negative signal number.
  */
 typedef int (*task_finished_fn)(int result,
-                               struct child_process *cp,
                                struct strbuf *err,
                                void *pp_cb,
                                void *pp_task_cb);
@@ -192,9 +192,8 @@ typedef int (*task_finished_fn)(int result,
  * (both stdout and stderr) is routed to stderr in a manner that output
  * from different tasks does not interleave.
  *
- * If start_failure_fn or task_finished_fn are NULL, default handlers
- * will be used. The default handlers will print an error message on
- * error without issuing an emergency stop.
+ * start_failure_fn and task_finished_fn can be NULL to omit any
+ * special handling.
  */
 int run_processes_parallel(int n,
                           get_next_task_fn,