summaryrefslogtreecommitdiff
path: root/devel/bmake/files/compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/bmake/files/compat.c')
-rw-r--r--devel/bmake/files/compat.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/devel/bmake/files/compat.c b/devel/bmake/files/compat.c
index b7f8e031073..195328c1393 100644
--- a/devel/bmake/files/compat.c
+++ b/devel/bmake/files/compat.c
@@ -1,4 +1,4 @@
-/* $NetBSD: compat.c,v 1.1.1.6 2010/04/24 20:33:52 joerg Exp $ */
+/* $NetBSD: compat.c,v 1.1.1.7 2010/09/07 14:11:20 joerg 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.1.1.6 2010/04/24 20:33:52 joerg Exp $";
+static char rcsid[] = "$NetBSD: compat.c,v 1.1.1.7 2010/09/07 14:11:20 joerg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: compat.c,v 1.1.1.6 2010/04/24 20:33:52 joerg Exp $");
+__RCSID("$NetBSD: compat.c,v 1.1.1.7 2010/09/07 14:11:20 joerg Exp $");
#endif
#endif /* not lint */
#endif
@@ -384,6 +384,8 @@ again:
while (1) {
while ((retstat = wait(&reason)) != cpid) {
+ if (retstat > 0)
+ JobReapChild(retstat, reason, FALSE); /* not ours? */
if (retstat == -1 && errno != EINTR) {
break;
}
@@ -644,17 +646,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);