]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/memory_object_terminate.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / memory_object_terminate.html
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]
24 The abstract memory
25 object port that represents the memory object data.
26 <p>
27 <dt> <var>seqno</var>
28 <dd>
29 [in scalar]
30 The sequence number of this message relative to the abstract
31 memory object port.
32 <p>
33 <dt> <var>memory_control</var>
34 <dd>
35 [in memory-cache-control receive right]
36 The memory cache control
37 port to be used for a response by the memory manager. If the memory
38 object has been supplied to more than one kernel, this parameter
39 identifies the kernel that is making the call.
40 </dl>
41 <h3>DESCRIPTION</h3>
42 <p>
43 A <strong>memory_object_terminate</strong> function is called as the
44 result of a kernel
45 message notifying a memory manager that no mappings of the specified memory
46 object remain. The kernel makes this call to allow the memory
47 manager to clean
48 up data structures associated with the deallocated mappings.
49 The call provides
50 receive rights to the memory cache control port so that the memory manager
51 can retrieve any messages it sent into this port before knowing the memory
52 object was being terminated and then destroy the port. The kernel also
53 relinquishes its rights for all memory object ports.
54 <p>
55 The kernel terminates a memory object only after all address space mappings of
56 the object have been deallocated, or upon explicit request by the memory
57 manager.
58 <h3>RETURN VALUES</h3>
59 <p>
60 Only generic errors apply.
61 <h3>RELATED INFORMATION</h3>
62 <p>
63 Functions:
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>.