aboutsummaryrefslogtreecommitdiff
path: root/libpager/object-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpager/object-init.c')
-rw-r--r--libpager/object-init.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libpager/object-init.c b/libpager/object-init.c
index 90ffc016..6683e24d 100644
--- a/libpager/object-init.c
+++ b/libpager/object-init.c
@@ -22,16 +22,14 @@
/* Implement the object initialiation call as described in
<mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_init (mach_port_t object,
+_pager_seqnos_memory_object_init (struct pager *p,
mach_port_seqno_t seqno,
mach_port_t control,
mach_port_t name,
vm_size_t pagesize)
{
- struct pager *p;
-
- p = ports_lookup_port (0, object, _pager_class);
- if (!p)
+ if (!p
+ || p->port.class != _pager_class)
return EOPNOTSUPP;
pthread_mutex_lock (&p->interlock);
@@ -73,7 +71,6 @@ _pager_seqnos_memory_object_init (mach_port_t object,
out:
_pager_release_seqno (p, seqno);
pthread_mutex_unlock (&p->interlock);
- ports_port_deref (p);
return 0;
}