diff options
author | dfr <dfr@FreeBSD.org> | 1998-08-13 08:05:13 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-08-13 08:05:13 +0000 |
commit | a1b2079000fa319fd6e9ee79ceb8d15d4bbd55d5 (patch) | |
tree | 272d9f69e955c6794d42e410098026be48770351 /sys/vm | |
parent | f99964396acce1b118f4711ca6187ef2ebb5acac (diff) | |
download | FreeBSD-src-a1b2079000fa319fd6e9ee79ceb8d15d4bbd55d5.zip FreeBSD-src-a1b2079000fa319fd6e9ee79ceb8d15d4bbd55d5.tar.gz |
Protect all modifications to paging_in_progress with splvm().
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/swap_pager.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 6d42159b..946b6d2 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -39,7 +39,7 @@ * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ * * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 - * $Id: swap_pager.c,v 1.97 1998/07/11 07:46:11 bde Exp $ + * $Id: swap_pager.c,v 1.98 1998/07/28 15:30:01 bde Exp $ */ /* @@ -1590,7 +1590,9 @@ swap_pager_finish(spc) PAGE_BWAKEUP(ma[i]); } + s = splvm(); object->paging_in_progress -= spc->spc_count; + splx(s); if ((object->paging_in_progress == 0) && (object->flags & OBJ_PIPWNT)) { object->flags &= ~OBJ_PIPWNT; |