From: Sean Hefty Date: Fri, 27 Jul 2012 06:11:19 +0000 (-0700) Subject: Refresh of mpi-finalize X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=d322cc176ae382ffe270200ff18c362d26ce4fbe;p=~shefty%2Flibrdmacm.git Refresh of mpi-finalize --- diff --git a/src/rsocket.c b/src/rsocket.c index 784d3f86..c53d5d56 100644 --- a/src/rsocket.c +++ b/src/rsocket.c @@ -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;