From 0ada207e2dca2b69a65ce186e625e7f6397edd34 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 7 Apr 1997 07:21:16 +0000 Subject: Changes for make 3.75.1 --- commands.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'commands.c') diff --git a/commands.c b/commands.c index a3c3b41..81d1a68 100644 --- a/commands.c +++ b/commands.c @@ -369,17 +369,25 @@ RETSIGTYPE fatal_error_signal (sig) int sig; { -#if defined(__MSDOS__) || defined(_AMIGA) +#ifdef __MSDOS__ + extern int dos_status, dos_command_running; + + if (dos_command_running) + { + /* That was the child who got the signal, not us. */ + dos_status |= (sig << 8); + return; + } remove_intermediates (1); + exit (1); +#else /* not __MSDOS__ */ #ifdef _AMIGA + remove_intermediates (1); if (sig == SIGINT) fputs ("*** Break.\n", stderr); exit (10); -#else - exit (1); -#endif -#else /* Not MSDOS. */ +#else /* not Amiga */ handling_fatal_signal = 1; /* Set the handling for this signal to the default. @@ -445,7 +453,8 @@ fatal_error_signal (sig) will be unblocked when we return and arrive then to kill us. */ if (kill (getpid (), sig) < 0) pfatal_with_name ("kill"); -#endif /* MSDOS. */ +#endif /* not Amiga */ +#endif /* not __MSDOS__ */ } /* Delete FILE unless it's precious or not actually a file (phony), -- cgit v1.2.3