diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c index 97452dd2b967..054cfd75e9b6 100644 --- a/usr.bin/make/compat.c +++ b/usr.bin/make/compat.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.78 2010/04/23 00:18:50 sjg Exp $ */ +/* $NetBSD: compat.c,v 1.79 2010/06/03 15:40:15 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.78 2010/04/23 00:18:50 sjg Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.79 2010/06/03 15:40:15 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.78 2010/04/23 00:18:50 sjg Exp $"); +__RCSID("$NetBSD: compat.c,v 1.79 2010/06/03 15:40:15 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -641,17 +641,17 @@ Compat_Run(Lst targs) Compat_Init(); - if (signal(SIGINT, SIG_IGN) != SIG_IGN) { - signal(SIGINT, CompatInterrupt); + if (bmake_signal(SIGINT, SIG_IGN) != SIG_IGN) { + bmake_signal(SIGINT, CompatInterrupt); } - if (signal(SIGTERM, SIG_IGN) != SIG_IGN) { - signal(SIGTERM, CompatInterrupt); + if (bmake_signal(SIGTERM, SIG_IGN) != SIG_IGN) { + bmake_signal(SIGTERM, CompatInterrupt); } - if (signal(SIGHUP, SIG_IGN) != SIG_IGN) { - signal(SIGHUP, CompatInterrupt); + if (bmake_signal(SIGHUP, SIG_IGN) != SIG_IGN) { + bmake_signal(SIGHUP, CompatInterrupt); } - if (signal(SIGQUIT, SIG_IGN) != SIG_IGN) { - signal(SIGQUIT, CompatInterrupt); + if (bmake_signal(SIGQUIT, SIG_IGN) != SIG_IGN) { + bmake_signal(SIGQUIT, CompatInterrupt); } ENDNode = Targ_FindNode(".END", TARG_CREATE); diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c index 4c2a31bd670a..8b12e08413c1 100644 --- a/usr.bin/make/job.c +++ b/usr.bin/make/job.c @@ -1,4 +1,4 @@ -/* $NetBSD: job.c,v 1.149 2010/04/23 00:18:50 sjg Exp $ */ +/* $NetBSD: job.c,v 1.150 2010/06/03 15:40:15 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: job.c,v 1.149 2010/04/23 00:18:50 sjg Exp $"; +static char rcsid[] = "$NetBSD: job.c,v 1.150 2010/06/03 15:40:15 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)job.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: job.c,v 1.149 2010/04/23 00:18:50 sjg Exp $"); +__RCSID("$NetBSD: job.c,v 1.150 2010/06/03 15:40:15 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -2171,13 +2171,13 @@ Job_Init(void) /* * Install a SIGCHLD handler. */ - (void)signal(SIGCHLD, JobChildSig); + (void)bmake_signal(SIGCHLD, JobChildSig); sigaddset(&caught_signals, SIGCHLD); #define ADDSIG(s,h) \ - if (signal(s, SIG_IGN) != SIG_IGN) { \ + if (bmake_signal(s, SIG_IGN) != SIG_IGN) { \ sigaddset(&caught_signals, s); \ - (void)signal(s, h); \ + (void)bmake_signal(s, h); \ } /* @@ -2218,7 +2218,7 @@ static void JobSigReset(void) { #define DELSIG(s) \ if (sigismember(&caught_signals, s)) { \ - (void)signal(s, SIG_DFL); \ + (void)bmake_signal(s, SIG_DFL); \ } DELSIG(SIGINT) @@ -2231,7 +2231,7 @@ static void JobSigReset(void) DELSIG(SIGWINCH) DELSIG(SIGCONT) #undef DELSIG - (void)signal(SIGCHLD, SIG_DFL); + (void)bmake_signal(SIGCHLD, SIG_DFL); } /*- diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index bf5f362abdba..50b77bfbd9e4 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.187 2010/05/17 17:01:16 christos Exp $ */ +/* $NetBSD: main.c,v 1.188 2010/06/03 15:40:16 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.187 2010/05/17 17:01:16 christos Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.188 2010/06/03 15:40:16 sjg Exp $"; #else #include #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\ #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.187 2010/05/17 17:01:16 christos Exp $"); +__RCSID("$NetBSD: main.c,v 1.188 2010/06/03 15:40:16 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -779,7 +779,7 @@ main(int argc, char **argv) debug_file = stderr; #ifdef SIGINFO - (void)signal(SIGINFO, siginfo); + (void)bmake_signal(SIGINFO, siginfo); #endif /* * Set the seed to produce a different random sequence diff --git a/usr.bin/make/nonints.h b/usr.bin/make/nonints.h index da6100ee1fc6..f49759a708ce 100644 --- a/usr.bin/make/nonints.h +++ b/usr.bin/make/nonints.h @@ -1,4 +1,4 @@ -/* $NetBSD: nonints.h,v 1.58 2010/04/07 00:11:27 sjg Exp $ */ +/* $NetBSD: nonints.h,v 1.59 2010/06/03 15:40:16 sjg Exp $ */ /*- * Copyright (c) 1988, 1989, 1990, 1993 @@ -195,3 +195,6 @@ void Var_Dump(GNode *); void Var_ExportVars(void); void Var_Export(char *, int); void Var_UnExport(char *); + +/* util.c */ +void (*bmake_signal(int, void (*)(int)))(int); diff --git a/usr.bin/make/util.c b/usr.bin/make/util.c index 083f5b430556..3c27089d3cc6 100644 --- a/usr.bin/make/util.c +++ b/usr.bin/make/util.c @@ -1,15 +1,15 @@ -/* $NetBSD: util.c,v 1.49 2010/05/05 07:05:33 sjg Exp $ */ +/* $NetBSD: util.c,v 1.50 2010/06/03 15:40:16 sjg Exp $ */ /* * Missing stuff from OS's */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: util.c,v 1.49 2010/05/05 07:05:33 sjg Exp $"; +static char rcsid[] = "$NetBSD: util.c,v 1.50 2010/06/03 15:40:16 sjg Exp $"; #else #include #ifndef lint -__RCSID("$NetBSD: util.c,v 1.49 2010/05/05 07:05:33 sjg Exp $"); +__RCSID("$NetBSD: util.c,v 1.50 2010/06/03 15:40:16 sjg Exp $"); #endif #endif @@ -18,6 +18,7 @@ __RCSID("$NetBSD: util.c,v 1.49 2010/05/05 07:05:33 sjg Exp $"); #include #include #include +#include #include "make.h" @@ -231,24 +232,6 @@ random(void) } #endif -/* turn into bsd signals */ -void (* -signal(int s, void (*a)(int)))(int) -{ - struct sigvec osv, sv; - - (void)sigvector(s, NULL, &osv); - sv = osv; - sv.sv_handler = a; -#ifdef SV_BSDSIG - sv.sv_flags = SV_BSDSIG; -#endif - - if (sigvector(s, &sv, NULL) == -1) - return (BADSIG); - return (osv.sv_handler); -} - #if !defined(__hpux__) && !defined(__hpux) int utimes(char *file, struct timeval tvp[2]) @@ -370,12 +353,9 @@ getwd(char *pathname) } /* end getwd */ #endif /* __hpux */ -#if defined(sun) && (defined(__svr4__) || defined(__SVR4)) -#include - -/* turn into bsd signals */ +/* force posix signals */ void (* -signal(int s, void (*a)(int)))(int) +bmake_signal(int s, void (*a)(int)))(int) { struct sigaction sa, osa; @@ -388,7 +368,6 @@ signal(int s, void (*a)(int)))(int) else return osa.sa_handler; } -#endif #if !defined(MAKE_NATIVE) && !defined(HAVE_VSNPRINTF) #include