Go to the first, previous, next, last section, table of contents.
In order to isolate the memory manager from the specifics of message
formatting, the remote procedure call generator produces a procedure,
memory_object_server
, to handle a received message. This
function does all necessary argument handling, and actually calls one of
the following functions: memory_object_init
,
memory_object_data_return
, memory_object_data_request
,
memory_object_data_unlock
, memory_object_lock_completed
,
memory_object_copy
, memory_object_terminate
. The
default memory manager may get two additional requests from the
kernel: memory_object_create
and
memory_object_data_initialize
. The remote procedure call
generator produces a procedure memory_object_default_server
to
handle those functions specific to the default memory manager.
The seqnos_memory_object_server
and
seqnos_memory_object_default_server
differ from
memory_object_server
and memory_object_default_server
in
that they supply message sequence numbers to the server interfaces.
They call the seqnos_memory_object_*
functions, which complement
the memory_object_*
set of functions.
The return value from the memory_object_server
function indicates
that the message was appropriate to the memory management interface
(returning TRUE
), or that it could not handle this message
(returning FALSE
).
The in_msg argument is the message that has been received from the kernel. The out_msg is a reply message, but this is not used for this server.
The function returns TRUE
to indicate that the message in
question was applicable to this interface, and that the appropriate
routine was called to interpret the message. It returns FALSE
to
indicate that the message did not apply to this interface, and that no
other action was taken.
Go to the first, previous, next, last section, table of contents.