Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2017
 
 

dat_rmr_free(3DAT)

Name

dat_rmr_free - destroy an instance of the RMR

Synopsis

cc [ flag… ] file–ldat [ library… ] 
#include <dat/udat.h>

DAT_RETURN
    dat_rmr_free (
    IN    DAT_RMR_HANDLE    rmr_handle
    )

Parameters

rmr_handle

Handle for an instance of the RMR to be destroyed.

Description

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.

Return Values

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The rmr_handle handle is invalid.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Unsafe
Standard
uDAPL, 1.1, 1.2

See Also

libdat(3LIB), attributes(5)