From: Sean Hefty Date: Thu, 10 May 2012 18:28:17 +0000 (-0700) Subject: Refresh of reuseaddr X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=db6bfd46d4dcb251d47899cd34ee90190327f15e;p=~shefty%2Flibrdmacm.git Refresh of reuseaddr --- diff --git a/src/rsocket.c b/src/rsocket.c index 2ffde9bb..de0ec3e5 100644 --- a/src/rsocket.c +++ b/src/rsocket.c @@ -1621,7 +1621,9 @@ int rsetsockopt(int socket, int level, int optname, ret = rdma_set_option(rs->cm_id, RDMA_OPTION_ID, RDMA_OPTION_ID_REUSEADDR, (void *) optval, optlen); - if (ret && errno == ENOSYS) + if (ret && ((errno == ENOSYS) || ((rs->state != rs_init) && + rs->cm_id->context && + (rs->cm_id->verbs->device->transport_type == IBV_TRANSPORT_IB)))) ret = 0; opt_on = *(int *) optval; break;