]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
winverbs/nd: allow retrying connect() call
authorSean Hefty <sean.hefty@intel.com>
Fri, 5 Mar 2010 18:24:11 +0000 (10:24 -0800)
committerSean Hefty <sean.hefty@intel.com>
Fri, 5 Mar 2010 18:24:11 +0000 (10:24 -0800)
The ND specification allows for retrying NDConnector:Connect()
calls.  Add this support to the winverbs ND provider.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
trunk/ulp/netdirect/user/nd_connect.cpp
trunk/ulp/netdirect/user/nd_connect.h

index 81d5f7bd09bf742bec3380027aaebdce0a705a59..ce25499a6cf9072b7881c0cf6d0b4a2a99fb842c 100644 (file)
@@ -39,15 +39,6 @@ CNDConnector::CNDConnector(CNDAdapter *pAdapter)
        m_pWvConnEp = NULL;\r
 }\r
 \r
-STDMETHODIMP CNDConnector::\r
-Init(void)\r
-{\r
-       HRESULT hr;\r
-\r
-       hr = m_pAdapter->m_pWvProvider->CreateConnectEndpoint(&m_pWvConnEp);\r
-       return NDConvertWVStatus(hr);\r
-}\r
-\r
 CNDConnector::~CNDConnector()\r
 {\r
        if (m_pWvConnEp != NULL) {\r
@@ -132,6 +123,15 @@ Connect(INDEndpoint* pEndpoint,
        IBAT_PATH_BLOB path;\r
        HRESULT hr;\r
 \r
+       if (m_pWvConnEp != NULL) {\r
+               m_pWvConnEp->Release();\r
+       }\r
+\r
+       hr = m_pAdapter->m_pWvProvider->CreateConnectEndpoint(&m_pWvConnEp);\r
+       if (FAILED(hr)) {\r
+               goto out;\r
+       }\r
+\r
        RtlCopyMemory(&addr, &m_pAdapter->m_Address, AddressLength);\r
        if (addr.Sa.sa_family == AF_INET) {\r
                addr.Sin.sin_port = LocalPort;\r
index 2da2f2223a82c71589eb6123e12a611a190c156e..5aed1f44fff171ebb81070c0f7d28e84a0c53e7d 100644 (file)
@@ -94,11 +94,6 @@ public:
                        goto err1;\r
                }\r
 \r
-               hr = conn->Init();\r
-               if (FAILED(hr)) {\r
-                       goto err2;\r
-               }\r
-\r
                *ppConnector = conn;\r
                return ND_SUCCESS;\r
 \r