summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_trap.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2001-02-19 04:15:59 +0000
committerbde <bde@FreeBSD.org>2001-02-19 04:15:59 +0000
commit49ef1aaa13c43ce23bf5d856364d1178c713f50c (patch)
tree219c776d96f8d73df01532ba4edd707494dd09e7 /sys/kern/subr_trap.c
parent36f2d71ceca8d0445030141a65266e670dbf66bb (diff)
downloadFreeBSD-src-49ef1aaa13c43ce23bf5d856364d1178c713f50c.zip
FreeBSD-src-49ef1aaa13c43ce23bf5d856364d1178c713f50c.tar.gz
Changed the aston() family to operate on a specified process instead of
always on curproc. This is needed to implement signal delivery properly (see a future log message for kern_sig.c). Debogotified the definition of aston(). aston() was defined in terms of signotify() (perhaps because only the latter already operated on a specified process), but aston() is the primitive. Similar changes are needed in the ia64 versions of cpu.h and trap.c. I didn't make them because the ia64 is missing the prerequisite changes to make astpending and need_resched per-process and those changes are too large to make without testing.
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r--sys/kern/subr_trap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 4a89c39..f778666 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -1285,14 +1285,14 @@ ast(frame)
* acquiring and releasing mutexes in assembly is not fun.
*/
mtx_lock_spin(&sched_lock);
- if (!(astpending() || resched_wanted())) {
+ if (!(astpending(p) || resched_wanted())) {
mtx_unlock_spin(&sched_lock);
return;
}
sticks = p->p_sticks;
- astoff();
+ astoff(p);
mtx_intr_enable(&sched_lock);
atomic_add_int(&cnt.v_soft, 1);
if (p->p_sflag & PS_OWEUPC) {
OpenPOWER on IntegriCloud