diff options
author | alc <alc@FreeBSD.org> | 2004-09-03 05:11:32 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-09-03 05:11:32 +0000 |
commit | 82e55fdf7687982550eb5f4127031095fdf8d75a (patch) | |
tree | 354bad52910b678ed5b43b366707bc35dc3371aa /sys/vm/vm_map.c | |
parent | 5aa2eb98b7e705cdbac165895e81d5e4bd6b5453 (diff) | |
download | FreeBSD-src-82e55fdf7687982550eb5f4127031095fdf8d75a.zip FreeBSD-src-82e55fdf7687982550eb5f4127031095fdf8d75a.tar.gz |
Push Giant deep into vm_forkproc(), acquiring it only if the process has
mapped System V shared memory segments (see shmfork_myhook()) or requires
the allocation of an ldt (see vm_fault_wire()).
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r-- | sys/vm/vm_map.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 2a486e8..3788a4f 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2482,8 +2482,6 @@ vmspace_fork(struct vmspace *vm1) vm_map_entry_t new_entry; vm_object_t object; - GIANT_REQUIRED; - vm_map_lock(old_map); vm2 = vmspace_alloc(old_map->min_offset, old_map->max_offset); @@ -2942,7 +2940,6 @@ vmspace_unshare(struct proc *p) struct vmspace *oldvmspace = p->p_vmspace; struct vmspace *newvmspace; - GIANT_REQUIRED; if (oldvmspace->vm_refcnt == 1) return; newvmspace = vmspace_fork(oldvmspace); |