From ff0487ddf0ba1f98daef8265eb3a50b1570b8f41 Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Wed, 19 May 2021 18:14:37 +0300 Subject: libpager: Add pager_get_ro_port () A pager will now maintain a port to a read-only memory object proxy for itself, and let the users access it with pager_get_ro_port (). --- libpager/object-terminate.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libpager/object-terminate.c') diff --git a/libpager/object-terminate.c b/libpager/object-terminate.c index 3e7df167..8e8205b5 100644 --- a/libpager/object-terminate.c +++ b/libpager/object-terminate.c @@ -115,6 +115,11 @@ _pager_free_structure (struct pager *p) mach_port_deallocate (mach_task_self (), p->memobjname); p->memobjname = MACH_PORT_NULL; } + if (p->ro_proxy != MACH_PORT_NULL) + { + mach_port_deallocate (mach_task_self (), p->ro_proxy); + p->ro_proxy = MACH_PORT_NULL; + } /* Free the pagemap */ if (p->pagemapsize) -- cgit v1.2.3