From 2ba5e64c2b076dc57750885b68955cef639162a0 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Wed, 1 Jun 1994 16:53:40 +0000 Subject: entered into RCS --- libpager/no-senders.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libpager/no-senders.c b/libpager/no-senders.c index 580b936a..0853c0f9 100644 --- a/libpager/no-senders.c +++ b/libpager/no-senders.c @@ -31,7 +31,7 @@ pager_no_senders (struct pager *p, { mutex_lock (&p->interlock); _pager_wait_for_seqno (p, seqno); - _pager_release_seqno (p); + _pager_release_seqno (p, seqno); mutex_unlock (&p->interlock); ports_no_senders (p, mscount); @@ -44,11 +44,24 @@ void pager_clean (void *arg) { struct pager *p = arg; - +#ifdef KERNEL_INIT_RACE + struct pending_init *i, *tmp; +#endif + if (p->pager_state != NOTINIT) { mutex_lock (&p->interlock); _pager_free_structure (p); +#ifdef KERNEL_INIT_RACE + for (i = p->init_head; i; i = tmp) + { + mach_port_deallocate (mach_task_self (), i->control); + mach_port_deallocate (mach_task_self (), i->name); + tmp = i->next; + free (i); + } +#endif + mutex_unlock (&p->interlock); } pager_clear_user_data (p->upi); -- cgit v1.2.3