diff --git a/ompi/mca/osc/base/osc_base_obj_convert.h b/ompi/mca/osc/base/osc_base_obj_convert.h index c470959450..86b2bc6345 100644 --- a/ompi/mca/osc/base/osc_base_obj_convert.h +++ b/ompi/mca/osc/base/osc_base_obj_convert.h @@ -54,15 +54,14 @@ ompi_osc_base_datatype_create(ompi_proc_t *remote_proc, void **payload) struct ompi_datatype_t *datatype = ompi_datatype_create_from_packed_description(payload, remote_proc); if (NULL == datatype) return NULL; - OMPI_DATATYPE_RETAIN(datatype); return datatype; } /** - * Create datatype based on Fortran Index + * Create operation based on Fortran Index * - * Create a useable MPI datatype based on it's Fortran index, which is + * Create a useable MPI operation based on it's Fortran index, which is * globally the same for predefined operations. The op handle is * owned by the calling process and must be OBJ_RELEASEd when no * longer in use. diff --git a/ompi/mca/osc/rdma/osc_rdma_lock.h b/ompi/mca/osc/rdma/osc_rdma_lock.h index 7af4d703f6..9e7ec485f0 100644 --- a/ompi/mca/osc/rdma/osc_rdma_lock.h +++ b/ompi/mca/osc/rdma/osc_rdma_lock.h @@ -45,9 +45,7 @@ static inline int ompi_osc_rdma_btl_fop (ompi_osc_rdma_module_t *module, struct pending_op = OBJ_NEW(ompi_osc_rdma_pending_op_t); assert (NULL != pending_op); - if (wait_for_completion) { - OBJ_RETAIN(pending_op); - } else { + if (!wait_for_completion) { /* NTH: need to keep track of pending ops to avoid a potential teardown problem */ pending_op->module = module; (void) opal_atomic_fetch_add_32 (&module->pending_ops, 1);