- 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 )
Handle for an instance of the RMR to be destroyed.
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.
The operation was successful.
The rmr_handle handle is invalid.
See attributes(5) for descriptions of the following attributes: