Skip to content

Commit

Permalink
run-command: be more informative about what failed
Browse files Browse the repository at this point in the history
While debugging an error with verify_signed_buffer() the error
messages from run-command weren't very useful:

 error: cannot create pipe for gpg: Too many open files
 error: could not run gpg.

because they didn't indicate *which* pipe couldn't be created.

Print which pipe failed to be created in the error message so we
can more easily debug similar problems in the future.

For example, the above error now prints:

 error: cannot create standard error pipe for gpg: Too many open files
 error: could not run gpg.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Stephen Boyd authored and Junio C Hamano committed Feb 1, 2013
1 parent 7e20105 commit 939296c
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions run-command.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,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
Expand All @@ -285,6 +286,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];
Expand All @@ -300,6 +302,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];
Expand All @@ -317,9 +320,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;
}
Expand Down

0 comments on commit 939296c

Please sign in to comment.