summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/trap.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-05-05 04:08:12 +0000
committerdyson <dyson@FreeBSD.org>1997-05-05 04:08:12 +0000
commit16cf7a49785ae5422a15ddd2e1bde74a1c660e53 (patch)
tree9acacf0563a71c56e2bc904e38553ff8cdaa33f2 /sys/amd64/amd64/trap.c
parented817524a21c42f55897d40991432fe2e3cbb055 (diff)
downloadFreeBSD-src-16cf7a49785ae5422a15ddd2e1bde74a1c660e53.zip
FreeBSD-src-16cf7a49785ae5422a15ddd2e1bde74a1c660e53.tar.gz
Make sure that *fork() always returns with %edx == 1 in the
child. This was sometimes not happening correctly during my threads code work.
Diffstat (limited to 'sys/amd64/amd64/trap.c')
-rw-r--r--sys/amd64/amd64/trap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c
index aa4e3c5..5350c89 100644
--- a/sys/amd64/amd64/trap.c
+++ b/sys/amd64/amd64/trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id: trap.c,v 1.92 1997/04/14 13:52:52 bde Exp $
+ * $Id: trap.c,v 1.93 1997/04/26 11:45:28 peter Exp $
*/
/*
@@ -967,6 +967,7 @@ fork_return(p, frame)
{
frame.tf_eax = 0; /* Child returns zero */
frame.tf_eflags &= ~PSL_C; /* success */
+ frame.tf_edx = 1;
userret(p, &frame, 0);
#ifdef KTRACE
OpenPOWER on IntegriCloud