diff options
-rw-r--r-- | sys/arch/amiga/amiga/trap.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/sys/arch/amiga/amiga/trap.c b/sys/arch/amiga/amiga/trap.c index af964e03866..836461cf499 100644 --- a/sys/arch/amiga/amiga/trap.c +++ b/sys/arch/amiga/amiga/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.21 2001/06/27 03:54:13 art Exp $ */ +/* $OpenBSD: trap.c,v 1.22 2001/09/13 15:35:05 art Exp $ */ /* $NetBSD: trap.c,v 1.56 1997/07/16 00:01:47 is Exp $ */ /* @@ -204,7 +204,7 @@ userret(p, pc, oticks) int pc; u_quad_t oticks; { - int sig, s; + int sig; while ((sig = CURSIG(p)) != 0) postsig(sig); @@ -213,18 +213,9 @@ userret(p, pc, oticks) 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 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); } |