man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_lmr_free(3DAT)

Name

dat_lmr_free - destroy an instance of the LMR

Synopsis

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

DAT_RETURN
    dat_lmr_free (
    IN    DAT_LMR_HANDLE    lmr_handle
    )

Parameters

lmr_handle:

Handle for an instance of LMR to be destroyed.

Description

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.

Return Values

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The lmr_handle parameter is invalid.

DAT_INVALID_STATE

Parameter in an invalid state; LMR is in use by an RMR instance.

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)