git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
	Johannes Sixt <j.sixt@viscovery.net>,
	git@vger.kernel.org
Subject: Re: [PATCH] t0005: skip signal death exit code test on Windows
Date: Thu, 06 Jun 2013 10:21:47 -0700	[thread overview]
Message-ID: <7vy5anyx1w.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20130606064409.GA20334@sigill.intra.peff.net> (Jeff King's message of "Thu, 6 Jun 2013 02:44:09 -0400")

Jeff King <peff@peff.net> writes:

> On Thu, Jun 06, 2013 at 01:41:05AM -0500, Felipe Contreras wrote:
>
>> > Thanks. I wasn't quite clear on how the signal handling worked on
>> > Windows, but from your description, I agree there is not any point in
>> > running the test at all.
>> 
>> Shouldn't we clarify that Git exit codes only work on UNIX-like
>> operating systems?
>
> Clarify where? My impression is that this issue is well-known in the
> msys world, and it is a platform issue, not a git issue.

I actually was scratching my head while reading "the implementation
of raise() just calls exit(3)." part, in this:

> The particular deficiency is that when a signal is raise()d whose SIG_DFL
> action will cause process death (SIGTERM in this case), the
> implementation of raise() just calls exit(3).

After a bit of web searching, it seems to me that this behaviour of
raise() is in msvcrt, and compat/mingw.c::mingw_raise() just calls
that.  In other words, "the implementation of raise()" is at an even
lower level than mingw/msys, and I would agree that it is a platform
issue.

> If somebody wants to write a note somewhere in the git
> documentation, that's fine with me, but I'm not clear on exactly
> what it would even say.

I agree with both points.  I can suggest to clarify the log message
a bit with "the implementation of raise() in msvcrt (Microsoft C
Runtime library) just calls exit(3)", but that does not address the
end-user documentation issue.

I tried to summarize the issue for end-user documentation and came
up with this:

    The Git implementation on MinGW exits with status code 3 upon
    receiving an uncaught process-terminating signal, just like any
    program that link with msvcrt (Microsoft C Runtime library)
    whose raise() implementation just calls exit(3).  This is
    different from Git on POSIX, which reports a death by receiving
    a signal with the exit status code (128 + signal number).

But when stated this way, it feels that it belongs to Msysgit
documentation, not ours, at least to me.

  parent reply	other threads:[~2013-06-06 17:21 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-04 23:45 What's cooking in git.git (Jun 2013, #02; Tue, 4) Junio C Hamano
2013-06-05  0:04 ` [Administrivia] On ruby and contrib/ Junio C Hamano
2013-06-05  3:02   ` David Lang
2013-06-05 14:30     ` Felipe Contreras
2013-06-05  4:13   ` Michael Haggerty
2013-06-05 17:41     ` Junio C Hamano
2013-06-06 12:52     ` Matthieu Moy
2013-06-07 16:11       ` Junio C Hamano
2013-06-06 19:48     ` Thomas Ferris Nicolaisen
2013-06-05 14:45   ` Felipe Contreras
2013-06-06  7:26     ` demerphq
2013-06-06  7:46       ` Felipe Contreras
2013-06-06 12:24         ` Barry Fishman
2013-06-06 13:01           ` Felipe Contreras
2013-06-06 13:46             ` Barry Fishman
2013-06-06 14:09               ` Felipe Contreras
2013-06-06 14:41                 ` Barry Fishman
2013-06-06 15:04                   ` Felipe Contreras
2013-06-06 20:41         ` Charles McGarvey
2013-06-06 14:54   ` Greg Troxel
2013-06-06 15:17     ` Felipe Contreras
2013-06-06 16:09       ` David Lang
2013-06-06 18:16         ` Felipe Contreras
2013-06-06 20:29         ` Ramkumar Ramachandra
2013-06-06 20:19           ` David Lang
2013-06-07 14:24             ` Ramkumar Ramachandra
2013-06-07 15:20               ` Junio C Hamano
2013-06-07 15:28                 ` Ramkumar Ramachandra
2013-06-07 19:04                 ` Felipe Contreras
2013-06-07 19:27                   ` Ramkumar Ramachandra
2013-06-07 19:38                     ` Ramkumar Ramachandra
2013-06-09  2:57                     ` Johannes Schindelin
2013-06-09  9:16                       ` Ramkumar Ramachandra
2013-06-09 23:29                         ` Junio C Hamano
2013-06-10  4:56                           ` Felipe Contreras
2013-06-07 19:55                   ` Junio C Hamano
2013-06-07 20:24                     ` Felipe Contreras
2013-06-08  2:23                       ` Duy Nguyen
2013-06-08 10:08                         ` Felipe Contreras
2013-06-08 11:20                           ` Duy Nguyen
2013-06-08 12:06                             ` Felipe Contreras
2013-06-07 19:21             ` Felipe Contreras
2013-06-06 17:16       ` Greg Troxel
2013-06-06 18:24         ` Felipe Contreras
2013-06-06 21:05         ` Ramkumar Ramachandra
2013-06-06 21:31           ` Dependencies and packaging (Re: [Administrivia] On ruby and contrib/) Jonathan Nieder
2013-06-07 19:29             ` Felipe Contreras
2013-06-06 16:22     ` [Administrivia] On ruby and contrib/ Johannes Schindelin
2013-06-06 20:40       ` Ramkumar Ramachandra
2013-06-07  3:25         ` Johannes Schindelin
2013-06-07 15:20           ` Ramkumar Ramachandra
2013-06-07 17:57             ` Matthieu Moy
2013-06-07 18:14               ` Ramkumar Ramachandra
2013-06-07 18:24               ` Ramkumar Ramachandra
2013-06-07 18:32                 ` Matthieu Moy
2013-06-07 18:48                   ` Ramkumar Ramachandra
2013-06-07 19:00                     ` Matthieu Moy
2013-06-07 19:10                       ` Felipe Contreras
2013-06-07 18:33                 ` Jonathan Nieder
2013-06-07 18:45                   ` Matthew Ruffalo
2013-06-07 18:28               ` Junio C Hamano
2013-06-07 19:14           ` Felipe Contreras
2013-06-07 19:41             ` Ramkumar Ramachandra
2013-06-09  2:59               ` Johannes Schindelin
2013-06-08  2:17       ` Duy Nguyen
2013-06-08 10:02         ` Felipe Contreras
2013-06-08 11:28           ` Duy Nguyen
2013-06-08 11:56             ` Felipe Contreras
2013-06-08 12:07               ` Duy Nguyen
2013-06-08 13:20                 ` Felipe Contreras
2013-06-08 17:15                   ` Jeff King
2013-06-08 17:40                     ` Felipe Contreras
2013-06-09  0:10                       ` Jeff King
2013-06-09  1:17                         ` Felipe Contreras
2013-06-09  2:23                           ` Jeff King
2013-06-09  2:41                             ` Felipe Contreras
2013-06-09  3:07         ` Johannes Schindelin
2013-06-05  6:59 ` What's cooking in git.git (Jun 2013, #02; Tue, 4) Johannes Sixt
2013-06-05  7:12   ` Jeff King
2013-06-06  6:34     ` [PATCH] t0005: skip signal death exit code test on Windows Johannes Sixt
2013-06-06  6:37       ` Jeff King
2013-06-06  6:41         ` Felipe Contreras
2013-06-06  6:44           ` Jeff King
2013-06-06  6:48             ` Felipe Contreras
2013-06-06 17:21             ` Junio C Hamano [this message]
2013-06-06 17:40               ` Jeff King
2013-06-07  6:22                 ` Johannes Sixt
2013-06-07 10:12                 ` Erik Faye-Lund
2013-06-07 10:24                   ` Johannes Sixt
2013-06-07 12:00                     ` Erik Faye-Lund
2013-06-07 12:19                       ` Johannes Sixt
2013-06-07 12:46                         ` Erik Faye-Lund
2013-06-07 13:07                           ` Johannes Sixt
2013-06-07 14:20                             ` Erik Faye-Lund
2013-06-10  5:48                               ` [PATCH] mingw: make mingw_signal return the correct handler Johannes Sixt
2013-06-10 11:37                                 ` Erik Faye-Lund
2013-06-10 20:50                                 ` Junio C Hamano
2013-06-09  0:18                   ` [PATCH] t0005: skip signal death exit code test on Windows Jeff King
2013-06-09 20:31                     ` Junio C Hamano
2013-06-10  5:30                       ` Johannes Sixt
2013-06-10 11:38                         ` Erik Faye-Lund
2013-06-06 18:32               ` Felipe Contreras
2013-06-07 10:01       ` Erik Faye-Lund
2013-06-07 10:03         ` Erik Faye-Lund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vy5anyx1w.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=j.sixt@viscovery.net \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).