]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
rstream: Check for connection error on async connect
authorSean Hefty <sean.hefty@intel.com>
Mon, 21 May 2012 23:39:46 +0000 (16:39 -0700)
committerSean Hefty <sean.hefty@intel.com>
Mon, 21 May 2012 23:39:46 +0000 (16:39 -0700)
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
examples/rstream.c

index 104b318a94aa0e9426022fd5e2c20e6f767b5aef..393b40f2e8e5937fdc526328f56e08c1b0fb47d0 100644 (file)
@@ -448,7 +448,7 @@ static int client_connect(void)
 {
        struct addrinfo *res;
        struct pollfd fds;
-       int ret, rs;
+       int ret, rs, err, len;
 
        ret = getaddrinfo(dst_addr, port, NULL, &res);
        if (ret) {
@@ -477,6 +477,13 @@ static int client_connect(void)
                ret = do_poll(&fds);
                if (ret)
                        goto err;
+
+               len = sizeof err;
+               ret = getsockopt(rs, SOL_SOCKET, SO_ERROR, &err, &len);
+               if (ret || err) {
+                       ret = ret ? ret : err;
+                       goto err;
+               }
        }
 
 free: