diff options
author | dyson <dyson@FreeBSD.org> | 1998-05-04 17:12:53 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1998-05-04 17:12:53 +0000 |
commit | 65fbc3a74de21349fe64348f2de4d095b0b99372 (patch) | |
tree | f61dc7d8bc63d1fbcd55b3867f79153b39658eee /sys/vm/vm_map.c | |
parent | 0d10950020bb2e9176cfbfa3d461b9f99348ae00 (diff) | |
download | FreeBSD-src-65fbc3a74de21349fe64348f2de4d095b0b99372.zip FreeBSD-src-65fbc3a74de21349fe64348f2de4d095b0b99372.tar.gz |
Fix the shm panic. I mistakenly used the shadow_count to keep the object
from being split, and instead added an OBJ_NOSPLIT.
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r-- | sys/vm/vm_map.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index ab961b3..aeecbf8 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.c,v 1.123 1998/05/02 06:36:16 dyson Exp $ + * $Id: vm_map.c,v 1.124 1998/05/04 03:01:44 dyson Exp $ */ /* @@ -1832,7 +1832,7 @@ vm_map_delete(map, start, end) } else { pmap_remove(map->pmap, s, e); if (object && - (object->flags & OBJ_ONEMAPPING) && + ((object->flags & (OBJ_NOSPLIT|OBJ_ONEMAPPING)) == OBJ_ONEMAPPING) && ((object->type == OBJT_SWAP) || (object->type == OBJT_DEFAULT))) { vm_object_collapse(object); vm_object_page_remove(object, offidxstart, offidxend, FALSE); @@ -2051,7 +2051,7 @@ vm_map_copy_entry(src_map, dst_map, src_entry, dst_entry) (src_object->type == OBJT_DEFAULT || src_object->type == OBJT_SWAP)) { vm_object_collapse(src_object); - if (src_object->flags & OBJ_ONEMAPPING) { + if ((src_object->flags & (OBJ_NOSPLIT|OBJ_ONEMAPPING)) == OBJ_ONEMAPPING) { vm_map_split(src_entry); src_map->timestamp++; src_object = src_entry->object.vm_object; |