summaryrefslogtreecommitdiff
path: root/libpager
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-01-19 18:49:51 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-01-19 18:49:51 +0000
commit96efcd32d69eebb510cfbaf705fd4771bff82f1f (patch)
tree2adbd5913099c16cfa6e8c3610fecb4a175864b7 /libpager
parent9a8640bffa2895232deee46a5686db4da3f42bab (diff)
Formerly no-senders.c.~4~
Diffstat (limited to 'libpager')
-rw-r--r--libpager/no-senders.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/libpager/no-senders.c b/libpager/no-senders.c
index 0a62cf12..38d1ff72 100644
--- a/libpager/no-senders.c
+++ b/libpager/no-senders.c
@@ -16,13 +16,16 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+#include "priv.h"
+#include <stdio.h>
+#include <mach/notify.h>
+
void
pager_no_senders (struct pager *p,
mach_port_seqno_t seqno,
- mach_port_mscount_t mscount);
+ mach_port_mscount_t mscount)
{
mach_port_t old;
- int ret;
int dealloc;
mutex_lock (&p->interlock);
@@ -67,9 +70,10 @@ pager_clean (void *arg)
struct pager *p = arg;
if (p->pager_state != NOTINIT)
- panic ("pager not terminated"); /* XXX */
-
- pager_clean_user_data (p->upi);
+ {
+ mutex_lock (&p->interlock);
+ _pager_free_structure (p);
+ }
- /* Should remove from list. XXX */
+ pager_clear_user_data (p->upi);
}