Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
mingw: correct exit-code for SIGALRM's SIG_DFL
author
Erik Faye-Lund
<kusmabite@gmail.com>
Tue, 4 Dec 2012 08:10:37 +0000
(09:10 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 4 Dec 2012 16:00:29 +0000
(08:00 -0800)
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>
compat/mingw.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
f94c325
)
diff --git
a/compat/mingw.c
b/compat/mingw.c
index 4e6383898c59f03127ed698abcb86857d63a8eac..8ae4245648a17381940c06d380dbe3fe4b1fdb3c 100644
(file)
--- a/
compat/mingw.c
+++ b/
compat/mingw.c
@@
-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)