diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2007-01-15 17:09:51 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2007-01-15 17:09:51 +0000 |
commit | 86e92f25be910cb6f49e0f3beaebb54d93bb243a (patch) | |
tree | 5bae8f8852dac70c2e1d515eda7371d8d9a61b76 /sys | |
parent | 5c4cbd50e58df62a569cb983de227a5afdf2e60d (diff) |
undo last broken userret() change here; miod@ ok
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa/hppa/trap.c | 12 |
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); } /* |