summaryrefslogtreecommitdiff
path: root/libpager/clean.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-03-26 20:48:14 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-03-26 20:48:14 +0000
commit98cb8d0c27e0ab61c01c25468676f2fb57f3e113 (patch)
tree0faf8836a4b2dc41123cf4e1e2691687912d88ee /libpager/clean.c
parent5efff9784a556c8e3fc7c93ea9957d087c57fc32 (diff)
(_pager_clean): Deallocate anticipations structures here.
Diffstat (limited to 'libpager/clean.c')
-rw-r--r--libpager/clean.c12
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);
}