summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2007-01-15 17:09:51 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2007-01-15 17:09:51 +0000
commit86e92f25be910cb6f49e0f3beaebb54d93bb243a (patch)
tree5bae8f8852dac70c2e1d515eda7371d8d9a61b76 /sys
parent5c4cbd50e58df62a569cb983de227a5afdf2e60d (diff)
undo last broken userret() change here; miod@ ok
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/hppa/hppa/trap.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/trap.c b/sys/arch/hppa/hppa/trap.c
index 783c12cd628..9035a66a465 100644
--- a/sys/arch/hppa/hppa/trap.c
+++ b/sys/arch/hppa/hppa/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.94 2006/12/24 20:29:17 miod Exp $ */
+/* $OpenBSD: trap.c,v 1.95 2007/01/15 17:09:50 mickey Exp $ */
/*
* Copyright (c) 1998-2004 Michael Shalayeff
@@ -146,8 +146,14 @@ userret(struct proc *p, register_t pc, u_quad_t oticks)
p->p_flag &= ~P_OWEUPC;
ADDUPROF(p);
}
- if (want_resched)
- preempt(NULL);
+ }
+ if (want_resched) {
+ /*
+ * We're being preempted.
+ */
+ preempt(NULL);
+ while ((sig = CURSIG(p)) != 0)
+ postsig(sig);
}
/*