class DeleteVmo
Defined at line 147 of file fidling/gen/sdk/fidl/fuchsia.hardware.sysmem/fuchsia.hardware.sysmem/cpp/fidl/fuchsia.hardware.sysmem/cpp/markers.h
The server should delete the passed-in `vmo` and any associated
resources before responding.
Sysmem guarantees that `vmo` is the only handle remaining to the VMO.
The call to [`fuchsia.hardware.sysmem/Heap.DeleteVmo`] should fence the
cleanup of `vmo` and any associated resources before responding. Because
the last handle to `vmo` is passed in via
[`fuchsia.hardware.sysmem/Heap.DeleteVmo`], the server can defer
completion of the [`fuchsia.hardware.sysmem/Heap.DeleteVmo`] until
ZX_VMO_ZERO_CHILDREN is (very soon) triggered on the server's parent VMO
due to the server closing the passed-in `vmo`. FIDL server bindings
support responding to a request async. There is no requirement to
process any other incoming messages on this channel until
[`fuchsia.hardware.sysmem/Heap.DeleteVmo`] is done.
The effectiveness of sysmem's
[`fuchsia.sysmem2/BufferCollection.AttachLifetimeTracking`] mechanism
relies on resource recycling being complete before the response to this
call.
[`fuchsia.sysmem2/Allocator.GetVmoInfo`] stops working after there are
zero outstanding sysmem-provided VMOs derived from this VMO, and before
this call starts. Any attempt to call
[`fuchsia.sysmem2/Allocator.GetVmoInfo`] before responding to this call
will also deadlock due to sysmem waiting on this call to complete before
processing [`fuchsia.sysmem2/Allocator.GetVmoInfo`].
Public Members
static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal