summaryrefslogtreecommitdiff
path: root/libpager/chg-compl.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpager/chg-compl.c')
-rw-r--r--libpager/chg-compl.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/libpager/chg-compl.c b/libpager/chg-compl.c
index 0b0c99c2..d77c46cf 100644
--- a/libpager/chg-compl.c
+++ b/libpager/chg-compl.c
@@ -22,16 +22,15 @@
when a memory_object_change_attributes call has completed. Read this
in combination with pager-attr.c. */
kern_return_t
-_pager_seqnos_memory_object_change_completed (mach_port_t obj,
+_pager_seqnos_memory_object_change_completed (struct pager *p,
mach_port_seqno_t seq,
boolean_t maycache,
memory_object_copy_strategy_t strat)
{
- struct pager *p;
struct attribute_request *ar;
-
- p = ports_lookup_port (0, obj, _pager_class);
- if (!p)
+
+ if (!p
+ || p->port.class != _pager_class)
{
printf ("Bad change completed\n");
return EOPNOTSUPP;
@@ -50,6 +49,5 @@ _pager_seqnos_memory_object_change_completed (mach_port_t obj,
_pager_release_seqno (p, seq);
pthread_mutex_unlock (&p->interlock);
- ports_port_deref (p);
return 0;
}