From 62566a3bde81dc8260d04ebbc8dac709343d58ff Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Wed, 27 Jun 2012 15:21:13 -0700 Subject: [PATCH] Refresh of shut_wr --- src/rsocket.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rsocket.c b/src/rsocket.c index 419e9dfc..c77dd4af 100644 --- a/src/rsocket.c +++ b/src/rsocket.c @@ -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); -- 2.45.2