summaryrefslogtreecommitdiff
path: root/sys/kern/kern_resource.c
diff options
context:
space:
mode:
authorAttilio Rao <attilio@FreeBSD.org>2007-06-09 18:56:11 +0000
committerAttilio Rao <attilio@FreeBSD.org>2007-06-09 18:56:11 +0000
commita140976eb44efd308803d4603b1cff9a759265ab (patch)
tree5f11084a1ca726fd09afccfce5eb4c0055b06e97 /sys/kern/kern_resource.c
parent65d32cd8fb71089a2d627cf15708701446dcffda (diff)
Notes
Diffstat (limited to 'sys/kern/kern_resource.c')
-rw-r--r--sys/kern/kern_resource.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c
index a0e39b947849..5982066029f3 100644
--- a/sys/kern/kern_resource.c
+++ b/sys/kern/kern_resource.c
@@ -1039,19 +1039,16 @@ rufetch(struct proc *p, struct rusage *ru)
{
struct thread *td;
- memset(ru, 0, sizeof(*ru));
PROC_SLOCK(p);
- if (p->p_ru == NULL) {
- KASSERT(p->p_numthreads > 0,
- ("rufetch: No threads or ru in proc %p", p));
+ *ru = p->p_ru;
+ if (p->p_numthreads > 0) {
FOREACH_THREAD_IN_PROC(p, td) {
thread_lock(td);
ruxagg(&p->p_rux, td);
thread_unlock(td);
rucollect(ru, &td->td_ru);
}
- } else
- *ru = *p->p_ru;
+ }
PROC_SUNLOCK(p);
}