diff options
Diffstat (limited to 'usr/src/uts/common/vm/vm_as.c')
-rw-r--r-- | usr/src/uts/common/vm/vm_as.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/usr/src/uts/common/vm/vm_as.c b/usr/src/uts/common/vm/vm_as.c index 567cc3c16b..3e8df474df 100644 --- a/usr/src/uts/common/vm/vm_as.c +++ b/usr/src/uts/common/vm/vm_as.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,8 +36,6 @@ * contributors. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * VM - address spaces. */ @@ -779,7 +777,7 @@ retry: } int -as_dup(struct as *as, struct as **outas) +as_dup(struct as *as, struct proc *forkedproc) { struct as *newas; struct seg *seg, *newseg; @@ -789,7 +787,7 @@ as_dup(struct as *as, struct as **outas) as_clearwatch(as); newas = as_alloc(); newas->a_userlimit = as->a_userlimit; - newas->a_proc = as->a_proc->p_child; + newas->a_proc = forkedproc; AS_LOCK_ENTER(newas, &newas->a_lock, RW_WRITER); @@ -856,7 +854,7 @@ as_dup(struct as *as, struct as **outas) as_free(newas); return (error); } - *outas = newas; + forkedproc->p_as = newas; return (0); } |