Skip to content

Commit

Permalink
mingw: correct exit-code for SIGALRM's SIG_DFL
Browse files Browse the repository at this point in the history
Make sure SIG_DFL for SIGALRM exits with 128 + SIGALRM so other
processes can diagnose why it exits.

While we're at it, make sure we only write to stderr if it's a
terminal, and  change the output to match that of Linux.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Erik Faye-Lund authored and Junio C Hamano committed Dec 4, 2012
1 parent f94c325 commit f4f5498
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions compat/mingw.c
Original file line number Diff line number Diff line change
Expand Up @@ -1560,8 +1560,11 @@ static sig_handler_t timer_fn = SIG_DFL;
static unsigned __stdcall ticktack(void *dummy)
{
while (WaitForSingleObject(timer_event, timer_interval) == WAIT_TIMEOUT) {
if (timer_fn == SIG_DFL)
die("Alarm");
if (timer_fn == SIG_DFL) {
if (isatty(STDERR_FILENO))
fputs("Alarm clock\n", stderr);
exit(128 + SIGALRM);
}
if (timer_fn != SIG_IGN)
timer_fn(SIGALRM);
if (one_shot)
Expand Down

0 comments on commit f4f5498

Please sign in to comment.