From: Sean Hefty Date: Mon, 28 May 2012 08:12:31 +0000 (-0700) Subject: pop (CONFLICT) X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=54169976ea388df1147c4c0c41eeaa106409b214;p=~shefty%2Flibrdmacm.git pop (CONFLICT) --- diff --git a/meta b/meta index dc8710cc..fba49080 100644 --- a/meta +++ b/meta @@ -1,5 +1,5 @@ Version: 1 -Previous: 951b42932f0aac33c890e79f4084999985bc2777 +Previous: e0d8bf054de0b16d6fcd269d58a286c048fbf3d2 Head: 548f496443177ae86bbd9690ad315351ce1efae4 Applied: destroy_cqs: 66410c265b2661e16b7f6126bcc4ea5c7e1af1bd @@ -14,10 +14,10 @@ Applied: acm-sock: dbc1a8fd27cad76749a228f01b8bf708832cdae0 acm-init: 666fa02d8f18ac2e98008cd3d57a90a864203548 pre-socket: 659f605c2d6bdba067651138aa5ffc01f14465d6 + rs-states: 548f496443177ae86bbd9690ad315351ce1efae4 Unapplied: rs-1sge: 85e4c4a0da0b501b60a1035d7a003ee20a749511 rs-def-inline: 6ad70d3b80178e40fea97f662a6b31e51cddc0af - rs-states: 093242597614aefb205cdbebb14ce59775b11243 rs-recv-hang: 7f62ace0f6bae5cc302bd58dd24ef5455229e1cb rstream-opt: e7db81a741c83da0739c078351abcc730465404a Hidden: diff --git a/patches/rs-states b/patches/rs-states index 6aadc761..4836dddc 100644 --- a/patches/rs-states +++ b/patches/rs-states @@ -1,5 +1,5 @@ -Bottom: fbb83f69330642e2137a4cc6bd617b2cf9efb85b -Top: 58e892deadb121454026692a0c778cbb9d22e540 +Bottom: 87ab98f3bddaca811ce2dc2b7920287c23686a20 +Top: 87ab98f3bddaca811ce2dc2b7920287c23686a20 Author: Sean Hefty Date: 2012-05-25 17:28:44 -0700 @@ -10,86 +10,4 @@ Signed-off-by: Sean Hefty --- -diff --git a/src/rsocket.c b/src/rsocket.c -index e591116..8cbd425 100644 ---- a/src/rsocket.c -+++ b/src/rsocket.c -@@ -121,6 +121,9 @@ struct rs_conn_data { - struct rs_sge data_buf; - }; - -+/* -+ * rsocket states are ordered as passive, connecting, connected, disconnected. -+ */ - enum rs_state { - rs_init, - rs_bound, -@@ -129,9 +132,9 @@ enum rs_state { - rs_resolving_route, - rs_connecting, - rs_accepting, -+ rs_connect_error, - rs_connected, - rs_disconnected, -- rs_connect_error, - rs_error - }; - -@@ -994,9 +997,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) -@@ -1098,7 +1099,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) -@@ -1190,7 +1191,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) -@@ -1319,7 +1320,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; -@@ -1360,16 +1361,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; +