]> 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..cd8a962a9bdf88cf9a6dd2b9a41a6dcfa967be3e 100644 (file)
@@ -448,7 +448,8 @@ static int client_connect(void)
 {
        struct addrinfo *res;
        struct pollfd fds;
-       int ret, rs;
+       int ret, rs, err;
+       socklen_t len;
 
        ret = getaddrinfo(dst_addr, port, NULL, &res);
        if (ret) {
@@ -477,6 +478,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: