INTON and FORCEINTON modify global variables, and so should not be

executed while we are vforked.
This commit is contained in:
elric 2000-05-15 03:42:48 +00:00
parent 7da80620c9
commit e8b0f2b813
2 changed files with 10 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: eval.c,v 1.53 2000/05/13 21:11:45 elric Exp $ */
/* $NetBSD: eval.c,v 1.54 2000/05/15 03:42:48 elric Exp $ */
/*-
* Copyright (c) 1993
@ -41,7 +41,7 @@
#if 0
static char sccsid[] = "@(#)eval.c 8.9 (Berkeley) 6/8/95";
#else
__RCSID("$NetBSD: eval.c,v 1.53 2000/05/13 21:11:45 elric Exp $");
__RCSID("$NetBSD: eval.c,v 1.54 2000/05/15 03:42:48 elric Exp $");
#endif
#endif /* not lint */
@ -802,7 +802,9 @@ normal_fork:
}
#endif
if (flags & EV_BACKCMD) {
FORCEINTON;
if (!vforked) {
FORCEINTON;
}
close(pip[0]);
if (pip[1] != 1) {
close(1);

View File

@ -1,4 +1,4 @@
/* $NetBSD: jobs.c,v 1.34 2000/05/13 20:59:41 elric Exp $ */
/* $NetBSD: jobs.c,v 1.35 2000/05/15 03:42:48 elric Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -41,7 +41,7 @@
#if 0
static char sccsid[] = "@(#)jobs.c 8.5 (Berkeley) 5/4/95";
#else
__RCSID("$NetBSD: jobs.c,v 1.34 2000/05/13 20:59:41 elric Exp $");
__RCSID("$NetBSD: jobs.c,v 1.35 2000/05/15 03:42:48 elric Exp $");
#endif
#endif /* not lint */
@ -645,7 +645,9 @@ forkchild(jp, n, mode, vforked)
freejob(p);
}
closescript(vforked);
INTON;
if (!vforked) {
INTON;
}
clear_traps(vforked);
#if JOBS
if (!vforked)