diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 0a0ac8ff507..b93a6567729 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 - * $Id$ + * $Id: kern_exit.c,v 1.3 1994/08/02 07:41:59 davidg Exp $ */ #include @@ -358,6 +358,10 @@ loop: continue; nfound++; if (p->p_stat == SZOMB) { + /* charge childs scheduling cpu usage to parent */ + if( curproc->p_pid != 1) + curproc->p_estcpu += p->p_estcpu; + retval[0] = p->p_pid; #ifdef COMPAT_43 if (uap->compat) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index a415fc0c1c6..e0362e9c257 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_fork.c 8.6 (Berkeley) 4/8/94 - * $Id$ + * $Id: kern_fork.c,v 1.3 1994/08/02 07:42:00 davidg Exp $ */ #include @@ -261,11 +261,17 @@ 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.