diff options
Diffstat (limited to 'libpager/lock-completed.c')
-rw-r--r-- | libpager/lock-completed.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libpager/lock-completed.c b/libpager/lock-completed.c index 9ab640fe..a3f3f168 100644 --- a/libpager/lock-completed.c +++ b/libpager/lock-completed.c @@ -23,18 +23,17 @@ when a memory_object_lock_request call has completed. Read this in combination with lock-object.c. */ kern_return_t -_pager_seqnos_memory_object_lock_completed (mach_port_t object, +_pager_seqnos_memory_object_lock_completed (struct pager *p, mach_port_seqno_t seqno, mach_port_t control, vm_offset_t offset, vm_size_t length) { error_t err = 0; - struct pager *p; struct lock_request *lr; - p = ports_lookup_port (0, object, _pager_class); - if (!p) + if (!p + || p->port.class != _pager_class) return EOPNOTSUPP; pthread_mutex_lock (&p->interlock); @@ -62,7 +61,6 @@ _pager_seqnos_memory_object_lock_completed (mach_port_t object, out: _pager_release_seqno (p, seqno); pthread_mutex_unlock (&p->interlock); - ports_port_deref (p); return err; } |