summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2012-03-23 15:51:25 +0000
committerguenther <guenther@openbsd.org>2012-03-23 15:51:25 +0000
commit8f15e6a4ddcf78e1c1320bc27380937fb93b1657 (patch)
tree6054f67bdb157eefd93c058e5b63bde14012ea3b /sys/kern/kern_exec.c
parentrollback r1.76 since it may break some tools (diff)
downloadwireguard-openbsd-8f15e6a4ddcf78e1c1320bc27380937fb93b1657.tar.xz
wireguard-openbsd-8f15e6a4ddcf78e1c1320bc27380937fb93b1657.zip
Make rusage totals, itimers, and profile settings per-process instead
of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 4fa96597e89..2cf05248187 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_exec.c,v 1.125 2012/03/09 13:01:28 ariane Exp $ */
+/* $OpenBSD: kern_exec.c,v 1.126 2012/03/23 15:51:26 guenther Exp $ */
/* $NetBSD: kern_exec.c,v 1.75 1996/02/09 18:59:28 christos Exp $ */
/*-
@@ -600,13 +600,10 @@ sys_execve(struct proc *p, void *v, register_t *retval)
if (pr->ps_flags & PS_SUGIDEXEC) {
int i, s = splclock();
- timeout_del(&p->p_realit_to);
- timerclear(&p->p_realtimer.it_interval);
- timerclear(&p->p_realtimer.it_value);
- for (i = 0; i < sizeof(p->p_stats->p_timer) /
- sizeof(p->p_stats->p_timer[0]); i++) {
- timerclear(&p->p_stats->p_timer[i].it_interval);
- timerclear(&p->p_stats->p_timer[i].it_value);
+ timeout_del(&pr->ps_realit_to);
+ for (i = 0; i < nitems(pr->ps_timer); i++) {
+ timerclear(&pr->ps_timer[i].it_interval);
+ timerclear(&pr->ps_timer[i].it_value);
}
splx(s);
}