From d848aba62786dd05775b5f91b7e7760987918bce Mon Sep 17 00:00:00 2001 From: Marc Teitelbaum Date: Tue, 1 May 1990 18:20:17 -0800 Subject: [PATCH] initialize [us]time SCCS-vsn: sys/kern/kern_fork.c 7.13 --- usr/src/sys/kern/kern_fork.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/usr/src/sys/kern/kern_fork.c b/usr/src/sys/kern/kern_fork.c index 7f09c28083..06c2756a4a 100644 --- a/usr/src/sys/kern/kern_fork.c +++ b/usr/src/sys/kern/kern_fork.c @@ -14,7 +14,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)kern_fork.c 7.12 (Berkeley) %G% + * @(#)kern_fork.c 7.13 (Berkeley) %G% */ #include "param.h" @@ -93,7 +93,6 @@ fork1(isvfork) if (newproc(isvfork)) { u.u_r.r_val1 = p1->p_pid; u.u_r.r_val2 = 1; /* child */ - u.u_start = time; u.u_acflag = AFORK; return; } @@ -202,6 +201,8 @@ again: rpp->p_cptr = NULL; rip->p_cptr = rpp; rpp->p_time = 0; + bzero((caddr_t)&rpp->p_utime, sizeof (struct timeval)); + bzero((caddr_t)&rpp->p_stime, sizeof (struct timeval)); rpp->p_cpu = 0; rpp->p_sigmask = rip->p_sigmask; rpp->p_sigcatch = rip->p_sigcatch; @@ -263,8 +264,12 @@ again: * from being swapped. */ rip->p_flag |= SKEEP; - if (procdup(rpp, isvfork)) + if (procdup(rpp, isvfork)) { + (void) splclock(); + u.u_start = time; + (void) spl0(); return (1); + } /* * Make child runnable and add to run queue. -- 2.20.1