summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/vax/vax/trap.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/sys/arch/vax/vax/trap.c b/sys/arch/vax/vax/trap.c
index a6be28ca91e..645de9d2eb1 100644
--- a/sys/arch/vax/vax/trap.c
+++ b/sys/arch/vax/vax/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.14 2001/05/05 21:26:41 art Exp $ */
+/* $OpenBSD: trap.c,v 1.15 2001/09/14 14:57:43 art Exp $ */
/* $NetBSD: trap.c,v 1.47 1999/08/21 19:26:20 matt Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@@ -286,16 +286,9 @@ if(faultdebug)printf("trap accflt type %lx, code %lx, pc %lx, psl %lx\n",
p->p_priority = p->p_usrpri;
if (want_resched) {
/*
- * Since we are curproc, clock will normally just change
- * our priority without moving us from one queue to another
- * (since the running process is not on a queue.)
- * If that happened after we setrunqueue ourselves but before
- * we swtch()'ed, we might not be on the queue indicated by
- * our priority.
+ * We're being preempted.
*/
- splstatclock();
- setrunqueue(p);
- mi_switch();
+ preempt(NULL);
while ((sig = CURSIG(p)) != 0)
postsig(sig);
}
@@ -437,16 +430,9 @@ bad:
p->p_priority = p->p_usrpri;
if (want_resched) {
/*
- * Since we are curproc, clock will normally just change
- * our priority without moving us from one queue to another
- * (since the running process is not on a queue.)
- * If that happened after we setrunqueue ourselves but before
- * we swtch()'ed, we might not be on the queue indicated by
- * our priority.
+ * We're being preempted.
*/
- splstatclock();
- setrunqueue(p);
- mi_switch();
+ preempt(NULL);
while ((sig = CURSIG(p)) != 0)
postsig(sig);
}