Version: 1
-Previous: 98b69a5fd74cf17c5fbee71edc60d88e4d0ae470
-Head: f4aeb798a274ac7a194d566849b9536b9e64e83d
+Previous: 837397a8d7effc32d3f6080ed1df1333572d151e
+Head: 94e4650160dd8b32efd7e1befe3b179487bd7cac
Applied:
destroy_cqs: 66410c265b2661e16b7f6126bcc4ea5c7e1af1bd
conn-err: ac46465ae6061b06f005ba9b49b371c9eb0d2325
acm-sock: dbc1a8fd27cad76749a228f01b8bf708832cdae0
acm-init: 666fa02d8f18ac2e98008cd3d57a90a864203548
pre-socket: 659f605c2d6bdba067651138aa5ffc01f14465d6
- rs-states: 548f496443177ae86bbd9690ad315351ce1efae4
- refresh-temp: f4aeb798a274ac7a194d566849b9536b9e64e83d
+ rs-states: 94e4650160dd8b32efd7e1befe3b179487bd7cac
Unapplied:
rs-1sge: 85e4c4a0da0b501b60a1035d7a003ee20a749511
rs-def-inline: 6ad70d3b80178e40fea97f662a6b31e51cddc0af
+++ /dev/null
-Bottom: 87ab98f3bddaca811ce2dc2b7920287c23686a20
-Top: 82e13151ae7719d96c8c400a99918961bc514175
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-05-28 01:13:57 -0700
-
-Refresh of rs-states
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 1140975..9ce58d5 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -126,6 +126,9 @@ union rs_wr_id {
- };
- };
-
-+/*
-+ * rsocket states are ordered as passive, connecting, connected, disconnected.
-+ */
- enum rs_state {
- rs_init,
- rs_bound,
-@@ -134,9 +137,9 @@ enum rs_state {
- rs_resolving_route,
- rs_connecting,
- rs_accepting,
-+ rs_connect_error,
- rs_connected,
- rs_disconnected,
-- rs_connect_error,
- rs_error
- };
-
-@@ -1011,9 +1014,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
- int ret;
-
- rs = idm_at(&idm, socket);
-- if (rs->state != rs_connected &&
-- (rs->state == rs_resolving_addr || rs->state == rs_resolving_route ||
-- rs->state == rs_connecting || rs->state == rs_accepting)) {
-+ if (rs->state < rs_connected) {
- ret = rs_do_connect(rs);
- if (ret) {
- if (errno == EINPROGRESS)
-@@ -1115,7 +1116,7 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
- int ret = 0;
-
- rs = idm_at(&idm, socket);
-- if (rs->state != rs_connected) {
-+ if (rs->state < rs_connected) {
- ret = rs_do_connect(rs);
- if (ret) {
- if (errno == EINPROGRESS)
-@@ -1219,7 +1220,7 @@ static ssize_t rsendv(int socket, const struct iovec *iov, int iovcnt, int flags
- int i, ret = 0;
-
- rs = idm_at(&idm, socket);
-- if (rs->state != rs_connected) {
-+ if (rs->state < rs_connected) {
- ret = rs_do_connect(rs);
- if (ret) {
- if (errno == EINPROGRESS)
-@@ -1360,7 +1361,7 @@ static int rs_poll_rs(struct rsocket *rs, int events,
- revents |= POLLOUT;
- if (rs->state == rs_disconnected)
- revents |= POLLHUP;
-- if (rs->state == rs_error)
-+ else if (rs->state == rs_error)
- revents |= POLLERR;
-
- return revents;
-@@ -1401,16 +1402,11 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
- if (fds[i].revents)
- return 1;
-
-- switch (rs->state) {
-- case rs_connected:
-- case rs_disconnected:
-- case rs_error:
-+ if (rs->state >= rs_connected)
- rfds[i].fd = rs->cm_id->recv_cq_channel->fd;
-- break;
-- default:
-+ else
- rfds[i].fd = rs->cm_id->channel->fd;
-- break;
-- }
-+
- rfds[i].events = POLLIN;
- } else {
- rfds[i].fd = fds[i].fd;
Bottom: 87ab98f3bddaca811ce2dc2b7920287c23686a20
-Top: 87ab98f3bddaca811ce2dc2b7920287c23686a20
+Top: 82e13151ae7719d96c8c400a99918961bc514175
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-05-25 17:28:44 -0700
---
-
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 1140975..9ce58d5 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -126,6 +126,9 @@ union rs_wr_id {
+ };
+ };
+
++/*
++ * rsocket states are ordered as passive, connecting, connected, disconnected.
++ */
+ enum rs_state {
+ rs_init,
+ rs_bound,
+@@ -134,9 +137,9 @@ enum rs_state {
+ rs_resolving_route,
+ rs_connecting,
+ rs_accepting,
++ rs_connect_error,
+ rs_connected,
+ rs_disconnected,
+- rs_connect_error,
+ rs_error
+ };
+
+@@ -1011,9 +1014,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+ int ret;
+
+ rs = idm_at(&idm, socket);
+- if (rs->state != rs_connected &&
+- (rs->state == rs_resolving_addr || rs->state == rs_resolving_route ||
+- rs->state == rs_connecting || rs->state == rs_accepting)) {
++ if (rs->state < rs_connected) {
+ ret = rs_do_connect(rs);
+ if (ret) {
+ if (errno == EINPROGRESS)
+@@ -1115,7 +1116,7 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
+ int ret = 0;
+
+ rs = idm_at(&idm, socket);
+- if (rs->state != rs_connected) {
++ if (rs->state < rs_connected) {
+ ret = rs_do_connect(rs);
+ if (ret) {
+ if (errno == EINPROGRESS)
+@@ -1219,7 +1220,7 @@ static ssize_t rsendv(int socket, const struct iovec *iov, int iovcnt, int flags
+ int i, ret = 0;
+
+ rs = idm_at(&idm, socket);
+- if (rs->state != rs_connected) {
++ if (rs->state < rs_connected) {
+ ret = rs_do_connect(rs);
+ if (ret) {
+ if (errno == EINPROGRESS)
+@@ -1360,7 +1361,7 @@ static int rs_poll_rs(struct rsocket *rs, int events,
+ revents |= POLLOUT;
+ if (rs->state == rs_disconnected)
+ revents |= POLLHUP;
+- if (rs->state == rs_error)
++ else if (rs->state == rs_error)
+ revents |= POLLERR;
+
+ return revents;
+@@ -1401,16 +1402,11 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
+ if (fds[i].revents)
+ return 1;
+
+- switch (rs->state) {
+- case rs_connected:
+- case rs_disconnected:
+- case rs_error:
++ if (rs->state >= rs_connected)
+ rfds[i].fd = rs->cm_id->recv_cq_channel->fd;
+- break;
+- default:
++ else
+ rfds[i].fd = rs->cm_id->channel->fd;
+- break;
+- }
++
+ rfds[i].events = POLLIN;
+ } else {
+ rfds[i].fd = fds[i].fd;