summaryrefslogtreecommitdiff
path: root/run-command.h
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2010-03-02 22:54:50 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-03-02 22:54:50 -0800
commita886ba2801cbe0a4d6bbc34714cb09996dbcc127 (patch)
tree54617f7bba6f1e1640145d10b6f662cc0111775c /run-command.h
parentMerge branch 'jc/maint-fix-test-perm' into maint (diff)
parentreceive-pack: Send internal errors over side-band #2 (diff)
downloadtgif-a886ba2801cbe0a4d6bbc34714cb09996dbcc127.tar.xz
Merge branch 'sp/maint-push-sideband' into maint
* sp/maint-push-sideband: receive-pack: Send internal errors over side-band #2 t5401: Use a bare repository for the remote peer receive-pack: Send hook output over side band #2 receive-pack: Wrap status reports inside side-band-64k receive-pack: Refactor how capabilities are shown to the client send-pack: demultiplex a sideband stream with status data run-command: support custom fd-set in async run-command: Allow stderr to be a caller supplied pipe Conflicts: builtin-receive-pack.c run-command.c t/t5401-update-hooks.sh
Diffstat (limited to 'run-command.h')
-rw-r--r--run-command.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/run-command.h b/run-command.h
index 967ba8cc09..94619f52d9 100644
--- a/run-command.h
+++ b/run-command.h
@@ -18,7 +18,7 @@ struct child_process {
* - Specify > 0 to set a channel to a particular FD as follows:
* .in: a readable FD, becomes child's stdin
* .out: a writable FD, becomes child's stdout/stderr
- * .err > 0 not supported
+ * .err: a writable FD, becomes child's stderr
* The specified FD is closed by start_command(), even in case
* of errors!
*/
@@ -66,17 +66,20 @@ int run_command_v_opt_cd_env(const char **argv, int opt, const char *dir, const
*/
struct async {
/*
- * proc writes to fd and closes it;
+ * proc reads from in; closes it before return
+ * proc writes to out; closes it before return
* returns 0 on success, non-zero on failure
*/
- int (*proc)(int fd, void *data);
+ int (*proc)(int in, int out, void *data);
void *data;
+ int in; /* caller writes here and closes it */
int out; /* caller reads from here and closes it */
#ifndef WIN32
pid_t pid;
#else
HANDLE tid;
- int fd_for_proc;
+ int proc_in;
+ int proc_out;
#endif
};