diff options
Diffstat (limited to 'gcc/fixinc/fixincl.c')
-rw-r--r-- | gcc/fixinc/fixincl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fixinc/fixincl.c b/gcc/fixinc/fixincl.c index 88fffbd..5f1e363 100644 --- a/gcc/fixinc/fixincl.c +++ b/gcc/fixinc/fixincl.c @@ -29,6 +29,9 @@ Boston, MA 02111-1307, USA. */ #endif #include <signal.h> +#if ! defined( SIGCHLD ) && defined( SIGCLD ) +# define SIGCHLD SIGCLD +#endif #ifndef SEPARATE_FIX_PROC #include "server.h" #endif @@ -249,6 +252,12 @@ ENV_TABLE exit (EXIT_FAILURE); } +#ifdef SIGCHLD + /* We *MUST* set SIGCHLD to SIG_DFL so that the wait4() call will + receive the signal. A different setting is inheritable */ + signal (SIGCHLD, SIG_DFL); +#endif + #define _ENV_(v,m,n,t) { tSCC var[] = n; \ v = getenv (var); if (m && (v == NULL)) { \ fprintf (stderr, var_not_found, var); \ |