diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2007-01-17 23:08:19 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2007-01-17 23:08:19 +0000 |
commit | a1445392b23bd837ebef1642251922ff13aee71e (patch) | |
tree | 897adf034d45d871499785bc9f64b8598da50598 /sys | |
parent | a777a55ef56e44cda608b2c05754b3ee7d88d710 (diff) |
When sending signals, instead of checking if the process sending the
signal to is the curproc, check if it's SONPROC. That way we'll also
signotify processes on other CPUs. This gives MD code the opportunity
to actually deliver signals to other CPUs faster than the clock
interrupt (in the worst case).
This is a NOP until MD code is fixed.
miod@ ok
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_sig.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 7af39621580..5183532147a 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sig.c,v 1.85 2007/01/16 17:52:18 thib Exp $ */ +/* $OpenBSD: kern_sig.c,v 1.86 2007/01/17 23:08:18 art Exp $ */ /* $NetBSD: kern_sig.c,v 1.54 1996/04/22 01:38:32 christos Exp $ */ /* @@ -973,14 +973,15 @@ psignal(struct proc *p, int signum) unsleep(p); goto out; + case SONPROC: + signotify(p); + /* FALLTHROUGH */ default: /* * SRUN, SIDL, SZOMB do nothing with the signal, * other than kicking ourselves if we are running. * It will either never be noticed, or noticed very soon. */ - if (p == curproc) - signotify(p); goto out; } /*NOTREACHED*/ |