diff options
Diffstat (limited to 'sys/vm/vm_unix.c')
-rw-r--r-- | sys/vm/vm_unix.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/vm/vm_unix.c b/sys/vm/vm_unix.c index c07a1c1..6f8e7c8 100644 --- a/sys/vm/vm_unix.c +++ b/sys/vm/vm_unix.c @@ -117,6 +117,7 @@ obreak(td, uap) error = ENOMEM; goto done; } +#ifdef RACCT PROC_LOCK(td->td_proc); error = racct_set(td->td_proc, RACCT_DATA, new - base); if (error != 0) { @@ -133,13 +134,16 @@ obreak(td, uap) goto done; } PROC_UNLOCK(td->td_proc); +#endif rv = vm_map_insert(&vm->vm_map, NULL, 0, old, new, VM_PROT_RW, VM_PROT_ALL, 0); if (rv != KERN_SUCCESS) { +#ifdef RACCT PROC_LOCK(td->td_proc); racct_set_force(td->td_proc, RACCT_DATA, old - base); racct_set_force(td->td_proc, RACCT_VMEM, vm->vm_map.size); PROC_UNLOCK(td->td_proc); +#endif error = ENOMEM; goto done; } @@ -165,10 +169,12 @@ obreak(td, uap) goto done; } vm->vm_dsize -= btoc(old - new); +#ifdef RACCT PROC_LOCK(td->td_proc); racct_set_force(td->td_proc, RACCT_DATA, new - base); racct_set_force(td->td_proc, RACCT_VMEM, vm->vm_map.size); PROC_UNLOCK(td->td_proc); +#endif } done: vm_map_unlock(&vm->vm_map); |