diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-04-04 22:57:30 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-04-04 22:57:30 +0200 |
commit | 7b31485553ed6a1cbc1ddde0ae3e678e404d1f97 (patch) | |
tree | 8e7476d8aefd478e2ab6a72b5bcad49ce48817c4 /libpager/data-unlock.c | |
parent | 58f78ea0c81a106cb2b9220eb9290bef15466cd9 (diff) | |
parent | b7cbdde8854ee4c51ec9cd49ce639bd02d646355 (diff) |
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
Diffstat (limited to 'libpager/data-unlock.c')
-rw-r--r-- | libpager/data-unlock.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libpager/data-unlock.c b/libpager/data-unlock.c index 02339abb..599237c1 100644 --- a/libpager/data-unlock.c +++ b/libpager/data-unlock.c @@ -22,18 +22,17 @@ /* Implement kernel requests for access as described in <mach/memory_object.defs>. */ kern_return_t -_pager_seqnos_memory_object_data_unlock (mach_port_t object, +_pager_seqnos_memory_object_data_unlock (struct pager *p, mach_port_seqno_t seqno, mach_port_t control, vm_offset_t offset, vm_size_t length, vm_prot_t access) { - struct pager *p; volatile int err; - p = ports_lookup_port (0, object, _pager_class); - if (!p) + if (!p + || p->port.class != _pager_class) return EOPNOTSUPP; pthread_mutex_lock (&p->interlock); @@ -84,6 +83,5 @@ _pager_seqnos_memory_object_data_unlock (mach_port_t object, _pager_mark_next_request_error (p, offset, length, err); } out: - ports_port_deref (p); return 0; } |