DAT_LMR_FREE(3DAT) | Direct Access Transport Library Functions | DAT_LMR_FREE(3DAT) |
dat_lmr_free - destroy an instance of the LMR
cc [ flag... ] file... -ldat [ library... ] #include <dat/udat.h> DAT_RETURN
dat_lmr_free (
IN DAT_LMR_HANDLE lmr_handle
)
lmr_handle:
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.
DAT_SUCCESS
DAT_INVALID_HANDLE
DAT_INVALID_STATE
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard: uDAPL, 1.1, 1.2 |
MT-Level | Unsafe |
July 16, 2004 | OmniOS |