diff options
author | alc <alc@FreeBSD.org> | 2002-07-12 17:21:22 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-07-12 17:21:22 +0000 |
commit | 19a21418a0fb18fd4d67c5a1a955e62500cffe2e (patch) | |
tree | bb18dcba0ee5140d0ea27015a7f06aefc149ba0d | |
parent | 0f5d0637f1aafcf161d3768fe389821c6b30a617 (diff) | |
download | FreeBSD-src-19a21418a0fb18fd4d67c5a1a955e62500cffe2e.zip FreeBSD-src-19a21418a0fb18fd4d67c5a1a955e62500cffe2e.tar.gz |
Lock accesses to the page queues.
-rw-r--r-- | sys/kern/sys_process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index f446406..c8cf8c4 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -268,7 +268,9 @@ proc_rwmem(struct proc *p, struct uio *uio) /* * Wire the page into memory */ + vm_page_lock_queues(); vm_page_wire(m); + vm_page_unlock_queues(); /* * We're done with tmap now. @@ -290,7 +292,9 @@ proc_rwmem(struct proc *p, struct uio *uio) /* * release the page and the object */ + vm_page_lock_queues(); vm_page_unwire(m, 1); + vm_page_unlock_queues(); vm_object_deallocate(object); object = NULL; |