Revision: 2362
Author: stansmith
Date: 4:06:55 PM, Monday, August 17, 2009
Message:
[LIBRDMACM] retry IBAT call on E_PENDING return. Signed off by 
[email protected] & [email protected]
----
Modified : /gen1/branches/WOF2-1/ulp/librdmacm/src/cma.cpp
Modified : /gen1/trunk/ulp/librdmacm/src/cma.cpp


--- trunk/ulp/librdmacm/src/cma.cpp     Wed Jul 15 16:20:33 2009
+++ RC-4/ulp/librdmacm/src/cma.cpp      Mon Aug 17 15:55:50 2009
@@ -497,7 +497,16 @@
        IBAT_PATH_BLOB path;
        HRESULT hr;

-       hr = IBAT::Resolve(&id->route.addr.src_addr, &id->route.addr.dst_addr, 
&path);
+       do {
+               hr = IBAT::Resolve(&id->route.addr.src_addr, 
&id->route.addr.dst_addr, &path);
+               if (hr != E_PENDING) {
+                       break;
+               }
+               timeout_ms -= 10;
+               if (timeout_ms > 0)
+                       Sleep(10);
+       } while (timeout_ms > 0);
+
        if (FAILED(hr)) {
                return hr;
        }
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to