DAT_RMR_FREE(3DAT) | Direct Access Transport Library Functions | DAT_RMR_FREE(3DAT) |
dat_rmr_free - destroy an instance of the RMR
cc [ flag... ] file... -ldat [ library... ] #include <dat/udat.h> DAT_RETURN
dat_rmr_free (
IN DAT_RMR_HANDLE rmr_handle
)
rmr_handle
The dat_rmr_free() function destroys an instance of the RMR.
Use of the handle of the destroyed RMR in any subsequent operation except for the dat_rmr_free() fails. Any remote RDMA operation that uses the destroyed RMR rmr_context, whose Transport-specific request arrived to the local host after the dat_rmr_free() has completed, fails and reports a protection violation. Remote RDMA operation that uses the destroyed RMR rmr_context, whose Transport-specific request arrived to the local host prior to the dat_rmr_free() return, 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 dat_rmr_free() function is allowed on either bound or unbound RMR. If RMR is bound, dat_rmr_free() unbinds (free HCA TPT and other resources and whatever else binds with length of 0 should do), and then free RMR.
DAT_SUCCESS
DAT_INVALID_HANDLE
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 |