diff options
Diffstat (limited to 'sys/arch/mvme68k/mvme68k/trap.c')
-rw-r--r-- | sys/arch/mvme68k/mvme68k/trap.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c index 8f93d2b4330..3c74d079b93 100644 --- a/sys/arch/mvme68k/mvme68k/trap.c +++ b/sys/arch/mvme68k/mvme68k/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.34 2001/08/25 11:37:26 espie Exp $ */ +/* $OpenBSD: trap.c,v 1.35 2001/09/14 09:15:19 art Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -184,7 +184,7 @@ userret(p, fp, oticks, faultaddr, fromtrap) u_int faultaddr; int fromtrap; { - int sig, s; + int sig; #if defined(M68040) || defined(M68060) int beenhere = 0; @@ -196,18 +196,9 @@ again: 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 put ourselves on the run queue - * but before we mi_switch()'ed, we might not be on the queue - * indicated by our priority. + * We're being preempted. */ - s = splstatclock(); - setrunqueue(p); - p->p_stats->p_ru.ru_nivcsw++; - mi_switch(); - splx(s); + preempt(NULL); while ((sig = CURSIG(p)) != 0) postsig(sig); } |