aboutsummaryrefslogtreecommitdiff
path: root/libpager
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-10 22:11:11 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-10 22:11:11 +0200
commit9393fb33d0405cfb99449241139413f0aae6f4f0 (patch)
treee1e8fe2a5710e758607e771da109256360dc4660 /libpager
parentb14e0100f5295abd950eef636fa16df181504401 (diff)
downloadhurd-9393fb33d0405cfb99449241139413f0aae6f4f0.tar.gz
hurd-9393fb33d0405cfb99449241139413f0aae6f4f0.tar.bz2
hurd-9393fb33d0405cfb99449241139413f0aae6f4f0.zip
Update to the improved memory_object_create proxy RPC
Thus avoiding two RPCs.
Diffstat (limited to 'libpager')
-rw-r--r--libpager/pager-ro-port.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libpager/pager-ro-port.c b/libpager/pager-ro-port.c
index 7772ba30..5a79a33a 100644
--- a/libpager/pager-ro-port.c
+++ b/libpager/pager-ro-port.c
@@ -29,7 +29,7 @@ pager_create_ro_port (struct pager *p)
vm_offset_t start = 0;
vm_size_t len = ~0;
- rw_port = ports_get_send_right (p);
+ rw_port = ports_get_right (p);
if (!MACH_PORT_VALID (rw_port))
{
err = errno;
@@ -38,12 +38,10 @@ pager_create_ro_port (struct pager *p)
err = memory_object_create_proxy (mach_task_self (),
VM_PROT_READ | VM_PROT_EXECUTE,
- &rw_port, 1,
+ &rw_port, MACH_MSG_TYPE_MAKE_SEND, 1,
&offset, 1, &start, 1, &len, 1,
&port);
- mach_port_deallocate (mach_task_self (), rw_port);
-
out:
errno = err;
return port;