diff options
author | Michael I. Bushnell <mib@gnu.org> | 1996-03-26 20:48:14 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1996-03-26 20:48:14 +0000 |
commit | 98cb8d0c27e0ab61c01c25468676f2fb57f3e113 (patch) | |
tree | 0faf8836a4b2dc41123cf4e1e2691687912d88ee /libpager | |
parent | 5efff9784a556c8e3fc7c93ea9957d087c57fc32 (diff) |
(_pager_clean): Deallocate anticipations structures here.
Diffstat (limited to 'libpager')
-rw-r--r-- | libpager/clean.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libpager/clean.c b/libpager/clean.c index 85fa6c96..3b970550 100644 --- a/libpager/clean.c +++ b/libpager/clean.c @@ -1,5 +1,5 @@ /* - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995, 1996 Free Software Foundation, Inc. Written by Michael I. Bushnell. This file is part of the GNU Hurd. @@ -29,6 +29,7 @@ _pager_clean (void *arg) #ifdef KERNEL_INIT_RACE struct pending_init *i, *tmp; #endif + struct anticipation *ant, *nxt; if (p->pager_state != NOTINIT) { @@ -43,8 +44,15 @@ _pager_clean (void *arg) free (i); } #endif + for (ant = p->anticipations; ant; ant = nxt) + { + vm_deallocate (mach_task_self (), ant->address, ant->len); + nxt = ant->next; + free (ant); + } + mutex_unlock (&p->interlock); } - + pager_clear_user_data (p->upi); } |