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,
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);