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

Re: [PATCH] run-command: simplify wait_or_whine

From
Duy Nguyen <pclouds@gmail.com>
Date
Jun 1, 2013, 14:21 UTC
Message-ID
<CACsJy8Df-O=D5LQBXCbiVLB=uHfn6ETbAxADWq3hd-9pPX4+mg@mail.gmail.com>
In-Reply-To
<1370094715-2684-1-git-send-email-felipe.contreras@gmail.com>

On Sat, Jun 1, 2013 at 8:51 PM, Felipe Contreras <felipe.contreras@gmail.com> wrote:

Show 23 quoted lines
> Nobody is checking for specific error codes; it's the errno that's
> important.
>
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>  run-command.c | 14 ++------------
>  1 file changed, 2 insertions(+), 12 deletions(-)
>
> diff --git a/run-command.c b/run-command.c
> index 1b32a12..e54e943 100644
> --- a/run-command.c
> +++ b/run-command.c
> @@ -244,21 +244,11 @@ static int wait_or_whine(pid_t pid, const char *argv0)
>                 code = WTERMSIG(status);
>                 if (code != SIGINT && code != SIGQUIT)
>                         error("%s died of signal %d", argv0, code);
> -               /*
> -                * This return value is chosen so that code & 0xff
> -                * mimics the exit code that a POSIX shell would report for
> -                * a program that died from this signal.
> -                */
> -               code += 128;
>         } else if (WIFEXITED(status)) {
The original commit that introduces this says
    run_command: encode deadly signal number in the return value
    We now write the signal number in the error message if the program
    terminated by a signal. The negative return value is constructed such that
    after truncation to 8 bits it looks like a POSIX shell's $?:
       $ echo 0000 | { git upload-pack .; echo $? >&2; } | :
       error: git-upload-pack died of signal 13
       141
    Previously, the exit code was 255 instead of 141.

So this is part of the interface to the user. With your changes, the exit code is now different. I tested by force segfaulting upload-pack. $? returned 11. So NAK. -- Duy

Previous: Felipe ContrerasNext: Felipe Contreras
Message 8 of 15 in “run-command: simplify wait_or_whine”
  1. run-command: simplify wait_or_whineFelipe Contreras, Jun 1, 2013
  2. Duy NguyenJun 1, 2013
  3. Felipe ContrerasJun 1, 2013
  4. Duy NguyenJun 1, 2013
  5. Felipe ContrerasJun 1, 2013
  6. Thomas RastJun 1, 2013
  7. Felipe ContrerasJun 1, 2013
  8. Duy NguyenJun 1, 2013
  9. Felipe ContrerasJun 1, 2013
  10. Duy NguyenJun 1, 2013
  11. Felipe ContrerasJun 1, 2013
  12. t0005: test git exit code from signal deathJeff King, Jun 1, 2013
  13. Felipe ContrerasJun 1, 2013
  14. Jeff KingJun 1, 2013
  15. Felipe ContrerasJun 1, 2013

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.