summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpager/object-terminate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libpager/object-terminate.c b/libpager/object-terminate.c
index 8598ab50..bab7ddb4 100644
--- a/libpager/object-terminate.c
+++ b/libpager/object-terminate.c
@@ -87,6 +87,7 @@ _pager_free_structure (struct pager *p)
int wakeup;
struct lock_request *lr;
struct attribute_request *ar;
+ struct anticipation *ant, *nxt;
wakeup = 0;
for (lr = p->lock_requests; lr; lr = lr->next)
@@ -107,6 +108,13 @@ _pager_free_structure (struct pager *p)
mach_port_deallocate (mach_task_self (), p->memobjcntl);
mach_port_deallocate (mach_task_self (), p->memobjname);
+ for (ant = p->anticipations; ant; ant = nxt)
+ {
+ vm_deallocate (mach_task_self (), ant->address, ant->len);
+ nxt = ant->next;
+ free (ant);
+ }
+
/* Free the pagemap */
if (p->pagemapsize)
{