Merge pull request #7659 from hppritcha/topic/pr7651_back_to_v40x
Backport OSC memory leak fixes to 4.0.x
Этот коммит содержится в:
Коммит
f29f73d65c
@ -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.
|
||||
|
@ -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);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user