diff options
-rw-r--r-- | sys/kern/kern_exit.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index ec9a529..5785e0b 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -540,8 +540,6 @@ retry: p->p_state = PRS_ZOMBIE; PROC_UNLOCK(p->p_pptr); - ruadd(p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); - /* Do the same timestamp bookkeeping that mi_switch() would do. */ new_switchtime = cpu_ticks(); p->p_rux.rux_runtime += (new_switchtime - PCPU_GET(switchtime)); @@ -552,6 +550,9 @@ retry: PCPU_SET(switchticks, ticks); cnt.v_swtch++; + /* Add our usage into the usage of all our children. */ + ruadd(p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + sched_exit(p->p_pptr, td); /* |