+++ /dev/null
-Bottom: e17d0dd680820260f177d598f36f7d3f76f02a6f
-Top: a0637db2c5d655b08f16411c3bc842825ea115f7
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2013-08-22 17:18:21 -0700
-
-Refresh of shutdown
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index b4f5891..f94ddf3 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -133,8 +133,7 @@ enum {
-
- enum {
- RS_CTRL_DISCONNECT,
-- RS_CTRL_SHUTDOWN,
-- RS_CTRL_SYNC
-+ RS_CTRL_SHUTDOWN
- };
-
- struct rs_msg {
-@@ -3115,11 +3114,6 @@ int rshutdown(int socket, int how)
- int ctrl, ret = 0;
-
- rs = idm_at(&idm, socket);
--// if (how == SHUT_RD) {
--// rs->state &= ~rs_readable;
--// return 0;
--// }
--
- if (rs->fd_flags & O_NONBLOCK)
- rs_set_nonblocking(rs, 0);
Bottom: ffbbb287b1a2e4fbdbcedb90103f988acb8fcb42
-Top: e17d0dd680820260f177d598f36f7d3f76f02a6f
+Top: a0637db2c5d655b08f16411c3bc842825ea115f7
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2013-08-16 15:15:12 -0700
---
diff --git a/src/rsocket.c b/src/rsocket.c
-index d544dd0..b4f5891 100644
+index d544dd0..f94ddf3 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
-@@ -133,7 +133,8 @@ enum {
-
- enum {
- RS_CTRL_DISCONNECT,
-- RS_CTRL_SHUTDOWN
-+ RS_CTRL_SHUTDOWN,
-+ RS_CTRL_SYNC
- };
-
- struct rs_msg {
-@@ -1822,7 +1823,12 @@ static int rs_poll_cq(struct rsocket *rs)
+@@ -1822,7 +1822,12 @@ static int rs_poll_cq(struct rsocket *rs)
rs->state = rs_disconnected;
return 0;
} else if (rs_msg_data(msg) == RS_CTRL_SHUTDOWN) {
}
break;
case RS_OP_WRITE:
-@@ -2948,10 +2954,12 @@ static int rs_poll_events(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
+@@ -2948,10 +2953,12 @@ static int rs_poll_events(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
rs = idm_lookup(&idm, fds[i].fd);
if (rs) {
fds[i].revents = rs_poll_rs(rs, fds[i].events, 1, rs_poll_all);
} else {
fds[i].revents = rfds[i].revents;
-@@ -3098,7 +3106,8 @@ int rselect(int nfds, fd_set *readfds, fd_set *writefds,
+@@ -3098,7 +3105,8 @@ int rselect(int nfds, fd_set *readfds, fd_set *writefds,
/*
* For graceful disconnect, notify the remote side that we're
*/
int rshutdown(int socket, int how)
{
-@@ -3106,10 +3115,10 @@ int rshutdown(int socket, int how)
+@@ -3106,11 +3114,6 @@ int rshutdown(int socket, int how)
int ctrl, ret = 0;
rs = idm_at(&idm, socket);
- rs->state &= ~rs_readable;
- return 0;
- }
-+// if (how == SHUT_RD) {
-+// rs->state &= ~rs_readable;
-+// return 0;
-+// }
-
+-
if (rs->fd_flags & O_NONBLOCK)
rs_set_nonblocking(rs, 0);
-@@ -3118,15 +3127,20 @@ int rshutdown(int socket, int how)
+
+@@ -3118,15 +3121,20 @@ int rshutdown(int socket, int how)
if (how == SHUT_RDWR) {
ctrl = RS_CTRL_DISCONNECT;
rs->state &= ~(rs_readable | rs_writable);
}
if ((rs->state & rs_connected) && rs->ctrl_avail) {
-@@ -3138,10 +3152,17 @@ int rshutdown(int socket, int how)
+@@ -3138,10 +3146,17 @@ int rshutdown(int socket, int how)
if (rs->state & rs_connected)
rs_process_cq(rs, 0, rs_conn_all_sends_done);