diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2021-05-19 18:14:37 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2022-08-10 22:04:10 +0200 |
commit | ff0487ddf0ba1f98daef8265eb3a50b1570b8f41 (patch) | |
tree | b21d88054ee81b2b65b33c6eab79b5f926019cfb /libpager/object-terminate.c | |
parent | 033397a36ab5bf40d7184791e036fae781355a21 (diff) | |
download | hurd-ff0487ddf0ba1f98daef8265eb3a50b1570b8f41.tar.gz hurd-ff0487ddf0ba1f98daef8265eb3a50b1570b8f41.tar.bz2 hurd-ff0487ddf0ba1f98daef8265eb3a50b1570b8f41.zip |
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 ().
Diffstat (limited to 'libpager/object-terminate.c')
-rw-r--r-- | libpager/object-terminate.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) |