summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_fork.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r--sys/kern/kern_fork.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 8bec2fa..ce5d6aa 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -36,6 +36,7 @@
* SUCH DAMAGE.
*
* @(#)kern_fork.c 8.6 (Berkeley) 4/8/94
+ * $Id: kern_fork.c,v 1.4 1994/08/06 07:15:04 davidg Exp $
*/
#include <sys/param.h>
@@ -51,10 +52,13 @@
#include <sys/acct.h>
#include <sys/ktrace.h>
+static int fork1(struct proc *, int, int *);
+
struct fork_args {
int dummy;
};
/* ARGSUSED */
+int
fork(p, uap, retval)
struct proc *p;
struct fork_args *uap;
@@ -65,6 +69,7 @@ fork(p, uap, retval)
}
/* ARGSUSED */
+int
vfork(p, uap, retval)
struct proc *p;
struct fork_args *uap;
@@ -76,6 +81,7 @@ vfork(p, uap, retval)
int nprocs = 1; /* process 0 */
+static int
fork1(p1, isvfork, retval)
register struct proc *p1;
int isvfork, retval[];
@@ -258,10 +264,16 @@ again:
#endif
/*
+ * set priority of child to be that of parent
+ */
+ p2->p_estcpu = p1->p_estcpu;
+
+ /*
* This begins the section where we must prevent the parent
* from being swapped.
*/
p1->p_flag |= P_NOSWAP;
+
/*
* Set return values for child before vm_fork,
* so they can be copied to child stack.
OpenPOWER on IntegriCloud