diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-02-07 14:41:42 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-02-07 14:41:42 -0800 |
commit | b5b56ea40c432f7687398bb012038ae12ac05ad4 (patch) | |
tree | a2b2e8582af4c09ebcb6e61d724d1f07d8337a59 /run-command.c | |
parent | f507784d2c956fc73f3791b04cc80e7e0dae0a4d (diff) | |
parent | 939296c4a42b0eb22542f0fe2e50b53993489eff (diff) | |
download | git-b5b56ea40c432f7687398bb012038ae12ac05ad4.tar.gz |
Merge branch 'sb/run-command-fd-error-reporting'
* sb/run-command-fd-error-reporting:
run-command: be more informative about what failed
Diffstat (limited to 'run-command.c')
-rw-r--r-- | run-command.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/run-command.c b/run-command.c index 12d4ddb552..07e27ff4c8 100644 --- a/run-command.c +++ b/run-command.c @@ -274,6 +274,7 @@ int start_command(struct child_process *cmd) int need_in, need_out, need_err; int fdin[2], fdout[2], fderr[2]; int failed_errno = failed_errno; + char *str; /* * In case of errors we must keep the promise to close FDs @@ -286,6 +287,7 @@ int start_command(struct child_process *cmd) failed_errno = errno; if (cmd->out > 0) close(cmd->out); + str = "standard input"; goto fail_pipe; } cmd->in = fdin[1]; @@ -301,6 +303,7 @@ int start_command(struct child_process *cmd) close_pair(fdin); else if (cmd->in) close(cmd->in); + str = "standard output"; goto fail_pipe; } cmd->out = fdout[0]; @@ -318,9 +321,10 @@ int start_command(struct child_process *cmd) close_pair(fdout); else if (cmd->out) close(cmd->out); + str = "standard error"; fail_pipe: - error("cannot create pipe for %s: %s", - cmd->argv[0], strerror(failed_errno)); + error("cannot create %s pipe for %s: %s", + str, cmd->argv[0], strerror(failed_errno)); errno = failed_errno; return -1; } |