diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2001-09-20 13:02:31 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2001-09-20 13:02:31 +0000 |
commit | 65365bf16ca8b47f4ecff55133cc84c6ef500537 (patch) | |
tree | cae6aa89b9b80fb671d76fc9f5367a1ea93b093e /sys/arch/macppc | |
parent | 624e32f8c16fadf2a7b72afa6a41835e9c1268f4 (diff) |
On a fault the onfault condition should be set to the old handler, not
cleared. This code restored the old handler on normal completion but
not on fault.
Diffstat (limited to 'sys/arch/macppc')
-rw-r--r-- | sys/arch/macppc/macppc/machdep.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/macppc/macppc/machdep.c b/sys/arch/macppc/macppc/machdep.c index 81e86fa3c1f..bfd934755a8 100644 --- a/sys/arch/macppc/macppc/machdep.c +++ b/sys/arch/macppc/macppc/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.7 2001/09/19 20:50:57 mickey Exp $ */ +/* $OpenBSD: machdep.c,v 1.8 2001/09/20 13:02:30 drahn Exp $ */ /* $NetBSD: machdep.c,v 1.4 1996/10/16 19:33:11 ws Exp $ */ /* @@ -1465,7 +1465,7 @@ kcopy(from, to, size) register void *oldh = curproc->p_addr->u_pcb.pcb_onfault; if (setfault(env)) { - curpcb->pcb_onfault = 0; + curproc->p_addr->u_pcb.pcb_onfault = oldh; return EFAULT; } bcopy(from, to, size); |