Version: 1
-Previous: b54d6195c380a04c4719de01b51a85c4b5c715e7
-Head: 979d34a37836d6efa7457419e52bc70bf4e00212
+Previous: d6490225187a2d508bf408bc079dcc4768ba3da8
+Head: 3c0a743cefee44fc24b5a6fcb8a043f77bf39a53
Applied:
v6only: 3afce107e2baec86c5541ed0acd992e37bcb992a
rselect: 7d25968d337e976e0e22fdba69c8a2a2f5d35008
- shut_wr: 5ff48c0f5c19a7e53e64c31bfea2ad324918023a
- refresh-temp: 979d34a37836d6efa7457419e52bc70bf4e00212
+ shut_wr: 3c0a743cefee44fc24b5a6fcb8a043f77bf39a53
Unapplied:
rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941
+++ /dev/null
-Bottom: 393bbdc7ad0ca287d5a2e8f29cfd409aae89e3e6
-Top: 8366a50fa5ca152bee136892dff4bc184f12b4cd
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-06-27 14:46:53 -0700
-
-Refresh of shut_wr
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 8b310c4..e3da27f 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -895,7 +895,7 @@ static int rs_poll_cq(struct rsocket *rs)
- case RS_OP_CTRL:
- if (rs_msg_data(imm_data) == RS_CTRL_DISCONNECT) {
- rs->state = rs_disconnected;
-- return ERR(ECONNRESET);
-+ return 0;
- } else if (rs_msg_data(imm_data) == RS_CTRL_SHUTDOWN) {
- rs_shutdown_state(rs, rs_connect_rd);
- }
-@@ -1137,7 +1137,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
- fastlock_acquire(&rs->rlock);
- if (!rs_have_rdata(rs)) {
- ret = rs_get_comp(rs, rs_nonblocking(rs, flags), rs_conn_have_rdata);
-- if (ret && errno != ECONNRESET)
-+ if (ret) // && errno != ECONNRESET)
- goto out;
- }
-
-@@ -1456,7 +1456,7 @@ check_cq:
- rs_process_cq(rs, nonblock, test);
-
- revents = 0;
-- if ((events & POLLIN) && rs_have_rdata(rs))
-+ if ((events & POLLIN) && rs_conn_have_rdata(rs))
- revents |= POLLIN;
- if ((events & POLLOUT) && rs_can_send(rs))
- revents |= POLLOUT;
Bottom: 47c055283ab722851373ec3c7f8affac14e1f08b
-Top: 393bbdc7ad0ca287d5a2e8f29cfd409aae89e3e6
+Top: 8366a50fa5ca152bee136892dff4bc184f12b4cd
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-06-25 14:19:54 -0700
---
diff --git a/src/rsocket.c b/src/rsocket.c
-index c833d46..8b310c4 100644
+index c833d46..e3da27f 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -96,7 +96,8 @@ enum {
}
static void rs_update_credits(struct rsocket *rs)
-@@ -883,6 +896,8 @@ static int rs_poll_cq(struct rsocket *rs)
+@@ -882,7 +895,9 @@ static int rs_poll_cq(struct rsocket *rs)
+ case RS_OP_CTRL:
if (rs_msg_data(imm_data) == RS_CTRL_DISCONNECT) {
rs->state = rs_disconnected;
- return ERR(ECONNRESET);
+- return ERR(ECONNRESET);
++ return 0;
+ } else if (rs_msg_data(imm_data) == RS_CTRL_SHUTDOWN) {
+ rs_shutdown_state(rs, rs_connect_rd);
}
ret = rs_do_connect(rs);
if (ret) {
if (errno == EINPROGRESS)
+@@ -1122,7 +1137,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+ fastlock_acquire(&rs->rlock);
+ if (!rs_have_rdata(rs)) {
+ ret = rs_get_comp(rs, rs_nonblocking(rs, flags), rs_conn_have_rdata);
+- if (ret && errno != ECONNRESET)
++ if (ret) // && errno != ECONNRESET)
+ goto out;
+ }
+
@@ -1213,7 +1228,7 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
int ret = 0;
+ rs_process_cq(rs, nonblock, test);
+
+ revents = 0;
-+ if ((events & POLLIN) && rs_have_rdata(rs))
++ if ((events & POLLIN) && rs_conn_have_rdata(rs))
+ revents |= POLLIN;
+ if ((events & POLLOUT) && rs_can_send(rs))
+ revents |= POLLOUT;