[PATCH v2 1/6] mingw: correct exit-code for SIGALRM's SIG_DFL
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Dec 4, 2012, 08:10 UTC
- Message-ID
- <1354608642-5316-2-git-send-email-kusmabite@gmail.com>
- In-Reply-To
- <1354608642-5316-1-git-send-email-kusmabite@gmail.com>
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> --- compat/mingw.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/compat/mingw.c b/compat/mingw.c index afc892d..78e8f54 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1538,8 +1538,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)
-- 1.8.0.4.g3c6fb4f.dirty -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en