diff options
author | 2013-10-08 03:50:06 +0000 | |
---|---|---|
committer | 2013-10-08 03:50:06 +0000 | |
commit | a554f8d9c26f17ff529f06b95d7012ef0acf0fc6 (patch) | |
tree | bef7ec274b156d91bea80729c0556b6621f8cfd1 /sys/kern/kern_time.c | |
parent | If a thread sends a signal to its own process, then have that thread (diff) | |
download | wireguard-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.c | 6 |
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); } |