diff options
author | dyson <dyson@FreeBSD.org> | 1997-04-13 03:05:31 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-04-13 03:05:31 +0000 |
commit | 9787a73582c593a751051fb91e926b439b8ff436 (patch) | |
tree | b22ea7df7baa244b630a3ee209916b06f5e9a978 /sys | |
parent | 61955ab83033e59cfabb8590ba5ccbf0669d9a47 (diff) | |
download | FreeBSD-src-9787a73582c593a751051fb91e926b439b8ff436.zip FreeBSD-src-9787a73582c593a751051fb91e926b439b8ff436.tar.gz |
Correct the previous thread-fix commit. I made a clerical error.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_exec.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 9c6f111..f25cbe8 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_exec.c,v 1.59 1997/04/12 04:07:50 dyson Exp $ + * $Id$ */ #include <sys/param.h> @@ -380,26 +380,16 @@ exec_new_vmspace(imgp) * otherwise, create a new VM space so that other threads are * not disrupted */ -#if 0 if (vmspace->vm_refcnt == 1) { -#endif if (vmspace->vm_shm) shmexit(imgp->proc); pmap_remove_pages(&vmspace->vm_pmap, 0, USRSTACK); vm_map_remove(map, 0, USRSTACK); -#if 0 } else { - struct vmspace *oldvmspace = vmspace; - - vmspace = vmspace_alloc(map->min_offset, map->max_offset, - map->entries_pageable); - bcopy(&oldvmspace->vm_startcopy, &vmspace->vm_startcopy, - (caddr_t) (vmspace + 1) - (caddr_t) &vmspace->vm_startcopy); - imgp->proc->p_vmspace = vmspace; + vmspace_exec(imgp->proc); + vmspace = imgp->proc->p_vmspace; map = &vmspace->vm_map; - --oldvmspace->vm_refcnt; } -#endif /* Allocate a new stack */ error = vm_map_find(map, NULL, 0, (vm_offset_t *)&stack_addr, |