mingw: correct exit-code for SIGALRM's SIG_DFL
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>maint
parent
f94c3251e1
commit
f4f549892a
|
@ -1560,8 +1560,11 @@ static sig_handler_t timer_fn = SIG_DFL;
|
||||||
static unsigned __stdcall ticktack(void *dummy)
|
static unsigned __stdcall ticktack(void *dummy)
|
||||||
{
|
{
|
||||||
while (WaitForSingleObject(timer_event, timer_interval) == WAIT_TIMEOUT) {
|
while (WaitForSingleObject(timer_event, timer_interval) == WAIT_TIMEOUT) {
|
||||||
if (timer_fn == SIG_DFL)
|
if (timer_fn == SIG_DFL) {
|
||||||
die("Alarm");
|
if (isatty(STDERR_FILENO))
|
||||||
|
fputs("Alarm clock\n", stderr);
|
||||||
|
exit(128 + SIGALRM);
|
||||||
|
}
|
||||||
if (timer_fn != SIG_IGN)
|
if (timer_fn != SIG_IGN)
|
||||||
timer_fn(SIGALRM);
|
timer_fn(SIGALRM);
|
||||||
if (one_shot)
|
if (one_shot)
|
||||||
|
|
Loading…
Reference in New Issue