]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of mpi-finalize
authorSean Hefty <sean.hefty@intel.com>
Fri, 27 Jul 2012 06:11:19 +0000 (23:11 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 27 Jul 2012 06:11:19 +0000 (23:11 -0700)
src/rsocket.c

index 784d3f8632597ae7f3626f7bb62d81fce19f09a6..c53d5d5690709987896e024b5280a8f230508c15 100644 (file)
@@ -132,7 +132,8 @@ union rs_wr_id {
        };
 };
 
-#define RS_RECV_WR_ID ~NULL
+#define RS_RECV_WR_ID (~((uint64_t) 0))
+
 /*
  * rsocket states are ordered as passive, connecting, connected, disconnected.
  */
@@ -419,6 +420,19 @@ err1:
        return -1;
 }
 
+static inline int
+rs_post_recv(struct rsocket *rs)
+{
+       struct ibv_recv_wr wr, *bad;
+
+       wr.wr_id = RS_RECV_WR_ID;
+       wr.next = NULL;
+       wr.sg_list = NULL;
+       wr.num_sge = 0;
+
+       return rdma_seterrno(ibv_post_recv(rs->cm_id->qp, &wr, &bad));
+}
+
 static int rs_create_ep(struct rsocket *rs)
 {
        struct ibv_qp_init_attr qp_attr;
@@ -450,7 +464,7 @@ static int rs_create_ep(struct rsocket *rs)
                return ret;
 
        for (i = 0; i < rs->rq_size; i++) {
-               ret = rdma_post_recvv(rs->cm_id, RS_RECV_WR_ID, NULL, 0);
+               ret = rs_post_recv(rs);
                if (ret)
                        return ret;
        }
@@ -924,7 +938,7 @@ static int rs_poll_cq(struct rsocket *rs)
 
        if (rs->state & rs_connected) {
                while (!ret && rcnt--)
-                       ret = rdma_post_recvv(rs->cm_id, RS_RECV_WR_ID, NULL, 0);
+                       ret = rs_post_recv(rs);
 
                if (ret) {
                        rs->state = rs_error;