]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/memory_object_terminate.html
xnu-792.6.70.tar.gz
[apple/xnu.git] / osfmk / man / memory_object_terminate.html
CommitLineData
9bccf70c 1<h2>memory_object_terminate</h2>\r<hr>\r<p>\r<strong>Server Interface</strong> - Relinquish access to a memory object.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t memory_object_terminate</strong>\r <strong>(memory_object_t</strong> <var>memory_object</var>,\r <strong>memory_object_control_t</strong> <var>memory_control</var><strong>);</strong>\r\r\r\r<strong>kern_return_t seqnos_memory_object_terminate</strong>\r <strong>(memory_object_t</strong> <var>memory_object</var>,\r <strong>mach_port_seqno_t</strong> <var>seqno</var>,\r <strong>memory_object_control_t</strong> <var>memory_control</var><strong>);</strong>\r</pre>\r<h3>PARAMETERS</h3>\r<dl>\r<p>\r<dt> <var>memory_object</var> \r<dd>\r[in abstract-memory-object (receive) right]\rThe abstract memory\robject port that represents the memory object data.\r<p>\r<dt> <var>seqno</var> \r<dd>\r[in scalar]\rThe sequence number of this message relative to the abstract \rmemory object port.\r<p>\r<dt> <var>memory_control</var> \r<dd>\r[in memory-cache-control receive right]\rThe memory cache control \rport to be used for a response by the memory manager. If the memory \robject has been supplied to more than one kernel, this parameter\ridentifies the kernel that is making the call.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rA <strong>memory_object_terminate</strong> function is called as the\rresult of a kernel\rmessage notifying a memory manager that no mappings of the specified memory\robject remain. The kernel makes this call to allow the memory\rmanager to clean \rup data structures associated with the deallocated mappings.\rThe call provides \rreceive rights to the memory cache control port so that the memory manager \rcan retrieve any messages it sent into this port before knowing the memory\robject was being terminated and then destroy the port. The kernel also\rrelinquishes its rights for all memory object ports.\r<p>\rThe kernel terminates a memory object only after all address space mappings of \rthe object have been deallocated, or upon explicit request by the memory\rmanager.\r<h3>RETURN VALUES</h3>\r<p>\rOnly generic errors apply.\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="memory_object_destroy.html"><strong>memory_object_destroy</strong></a>,\r<a href="mach_port_deallocate.html"><strong>mach_port_deallocate</strong></a>,\r<a href="memory_object_server.html"><strong>memory_object_server</strong></a>,\r<a href="SMO_server.html"><strong>seqnos_memory_object_server</strong></a>.\r