summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_time.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2013-10-08 03:50:06 +0000
committerguenther <guenther@openbsd.org>2013-10-08 03:50:06 +0000
commita554f8d9c26f17ff529f06b95d7012ef0acf0fc6 (patch)
treebef7ec274b156d91bea80729c0556b6621f8cfd1 /sys/kern/kern_time.c
parentIf a thread sends a signal to its own process, then have that thread (diff)
downloadwireguard-openbsd-a554f8d9c26f17ff529f06b95d7012ef0acf0fc6.tar.xz
wireguard-openbsd-a554f8d9c26f17ff529f06b95d7012ef0acf0fc6.zip
Fix delivery of SIGPROF and SIGVTALRM to threaded processes by having
hardclock() set a flag on the running thread and force AST processing, and then have the thread signal itself from userret(). idea and flag names from FreeBSD ok jsing@
Diffstat (limited to 'sys/kern/kern_time.c')
-rw-r--r--sys/kern/kern_time.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c
index 3e5ca31ef7a..187cb43e4ae 100644
--- a/sys/kern/kern_time.c
+++ b/sys/kern/kern_time.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_time.c,v 1.83 2013/10/06 01:27:50 guenther Exp $ */
+/* $OpenBSD: kern_time.c,v 1.84 2013/10/08 03:50:08 guenther Exp $ */
/* $NetBSD: kern_time.c,v 1.20 1996/02/18 11:57:06 fvdl Exp $ */
/*
@@ -571,10 +571,6 @@ sys_setitimer(struct proc *p, void *v, register_t *retval)
itimerround(&aitv.it_interval);
s = splclock();
pr->ps_timer[which] = aitv;
- if (which == ITIMER_VIRTUAL)
- timeout_del(&pr->ps_virt_to);
- if (which == ITIMER_PROF)
- timeout_del(&pr->ps_prof_to);
splx(s);
}