diff options
| author | John Dyson <dyson@FreeBSD.org> | 1998-05-04 03:01:44 +0000 |
|---|---|---|
| committer | John Dyson <dyson@FreeBSD.org> | 1998-05-04 03:01:44 +0000 |
| commit | cbd8ec0902a6392eb49f6c2ae5bd79e811e4ce5e (patch) | |
| tree | 2feae85b2cbc45a37f470a91103d10acf6bf316a /sys/kern/sysv_shm.c | |
| parent | b1dd8a7b575a07f72ed0813697a076ad97cdedba (diff) | |
Notes
Diffstat (limited to 'sys/kern/sysv_shm.c')
| -rw-r--r-- | sys/kern/sysv_shm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index a52b3d7c7b3a..abc1765000f2 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -1,4 +1,4 @@ -/* $Id: sysv_shm.c,v 1.34 1998/02/09 06:09:25 eivind Exp $ */ +/* $Id: sysv_shm.c,v 1.35 1998/03/30 09:50:46 phk Exp $ */ /* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */ /* @@ -145,6 +145,7 @@ shm_deallocate_segment(shmseg) size_t size; shm_handle = shmseg->shm_internal; + shm_handle->shm_object->shadow_count--; vm_object_deallocate(shm_handle->shm_object); free((caddr_t)shm_handle, M_SHM); shmseg->shm_internal = NULL; @@ -503,6 +504,9 @@ shmget_allocate_segment(p, uap, mode) shm_handle->shm_object = vm_pager_allocate(OBJT_SWAP, 0, OFF_TO_IDX(size), VM_PROT_DEFAULT, 0); + shm_handle->shm_object->shadow_count++; + shm_handle->shm_object->flags &= ~OBJ_ONEMAPPING; + shmseg->shm_internal = shm_handle; shmseg->shm_perm.cuid = shmseg->shm_perm.uid = cred->cr_uid; shmseg->shm_perm.cgid = shmseg->shm_perm.gid = cred->cr_gid; |
