cc [ flag… ] file… –ldat [ library… ] #include <dat/udat.h> DAT_RETURN dat_lmr_free ( IN DAT_LMR_HANDLE lmr_handle )
Handle for an instance of LMR to be destroyed.
The dat_lmr_free() function destroys an instance of the LMR. The LMR cannot be destroyed if it is in use by an RMR. The operation does not deallocate the memory region or unpin memory on a host.
Use of the handle of the destroyed LMR in any subsequent operation except for dat_lmr_free() fails. Any DTO operation that uses the destroyed LMR after the dat_lmr_free() is completed shall fail and report a protection violation. The use of rmr_context of the destroyed LMR by a remote peer for an RDMA DTO results in an error and broken connection on which it was used. Any remote RDMA operation that uses the destroyed LMR rmr_context, whose Transport-specific request arrived to the local host after the dat_lmr_free () has completed, fails and reports a protection violation. Remote RDMA operation that uses the destroyed LMR rmr_context, whose Transport-specific request arrived to the local host prior to the dat_lmr_free() returns, might or might not complete successfully. If it fails, DAT_DTO_ERR_REMOTE_ACCESS is reported in DAT_DTO_COMPLETION_STATUS for the remote RDMA DTO and the connection is broken.
The operation was successful.
The lmr_handle parameter is invalid.
Parameter in an invalid state; LMR is in use by an RMR instance.
See attributes(5) for descriptions of the following attributes: