]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of shut_wr
authorSean Hefty <sean.hefty@intel.com>
Wed, 27 Jun 2012 22:21:13 +0000 (15:21 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 27 Jun 2012 22:21:13 +0000 (15:21 -0700)
src/rsocket.c

index 419e9dfc931a53f295021fa3ea131eeea37c3fe2..c77dd4af1db785235645882ca9d71f722253fbf4 100644 (file)
@@ -757,12 +757,11 @@ int rconnect(int socket, const struct sockaddr *addr, socklen_t addrlen)
        return rs_do_connect(rs);
 }
 
-static int rs_shutdown_state(struct rsocket *rs, int state)
+static void rs_shutdown_state(struct rsocket *rs, int state)
 {
        rs->state &= ~state;
        if (rs->state == rs_connected)
                rs->state = rs_disconnected;
-       return rs->state == rs_disconnected;
 }
 
 static int rs_post_write(struct rsocket *rs, uint64_t wr_id,
@@ -1722,8 +1721,9 @@ int rshutdown(int socket, int how)
                        ctrl = RS_CTRL_DISCONNECT;
                        rs->state = rs_disconnected;
                } else {
-                       ctrl = rs_shutdown_state(rs, rs_connect_wr) ?
-                               RS_CTRL_DISCONNECT : RS_CTRL_SHUTDOWN;
+                       rs_shutdown_state(rs, rs_connect_wr);
+                       ctrl = (rs->state & rs_connected) ?
+                               RS_CTRL_SHUTDOWN : RS_CTRL_DISCONNECT;
                }
                if (!rs_can_send_ctrl(rs)) {
                        ret = rs_process_cq(rs, 0, rs_can_send_ctrl);