1<h2>memory_object_terminate</h2>
2<hr>
3<p>
4<strong>Server Interface</strong> - Relinquish access to a memory object.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t   memory_object_terminate</strong>
8                <strong>(memory_object_t</strong>                  <var>memory_object</var>,
9                 <strong>memory_object_control_t</strong>         <var>memory_control</var><strong>);</strong>
10
11
12
13<strong>kern_return_t   seqnos_memory_object_terminate</strong>
14                <strong>(memory_object_t</strong>                  <var>memory_object</var>,
15                 <strong>mach_port_seqno_t</strong>                        <var>seqno</var>,
16                 <strong>memory_object_control_t</strong>         <var>memory_control</var><strong>);</strong>
17</pre>
18<h3>PARAMETERS</h3>
19<dl>
20<p>
21<dt> <var>memory_object</var> 
22<dd>
23[in abstract-memory-object (receive) right]
24The abstract memory
25object port that represents the memory object data.
26<p>
27<dt> <var>seqno</var> 
28<dd>
29[in scalar]
30The sequence number of this message relative to the abstract 
31memory object port.
32<p>
33<dt> <var>memory_control</var> 
34<dd>
35[in memory-cache-control receive right]
36The memory cache control 
37port to be used for a response by the memory manager.  If the memory 
38object has been supplied to more than one kernel, this parameter
39identifies the kernel that is making the call.
40</dl>
41<h3>DESCRIPTION</h3>
42<p>
43A <strong>memory_object_terminate</strong> function is called as the
44result of a kernel
45message notifying a memory manager that no mappings of the specified memory
46object remain.  The kernel makes this call to allow the memory
47manager to clean 
48up data structures associated with the deallocated mappings.
49The call provides 
50receive rights to the memory cache control port so that the memory manager 
51can retrieve any messages it sent into this port before knowing the memory
52object was being terminated and then destroy the port.  The kernel also
53relinquishes its rights for all memory object ports.
54<p>
55The kernel terminates a memory object only after all address space mappings of 
56the object have been deallocated, or upon explicit request by the memory
57manager.
58<h3>RETURN VALUES</h3>
59<p>
60Only generic errors apply.
61<h3>RELATED INFORMATION</h3>
62<p>
63Functions:
64<a href="memory_object_destroy.html"><strong>memory_object_destroy</strong></a>,
65<a href="mach_port_deallocate.html"><strong>mach_port_deallocate</strong></a>,
66<a href="memory_object_server.html"><strong>memory_object_server</strong></a>,
67<a href="SMO_server.html"><strong>seqnos_memory_object_server</strong></a>.
68