From: degomme Date: Tue, 26 Apr 2016 23:39:42 +0000 (+0200) Subject: leaks --, for a change X-Git-Tag: v3_13~28 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c8483c68cf701a44b86c9727b443935442e19b79 leaks --, for a change --- diff --git a/src/smpi/smpi_base.cpp b/src/smpi/smpi_base.cpp index 4f8742edc8..1b0e4f4ec3 100644 --- a/src/smpi/smpi_base.cpp +++ b/src/smpi/smpi_base.cpp @@ -691,6 +691,7 @@ static void finish_wait(MPI_Request * request, MPI_Status * status) }else if(req->flags & RECV){//apply op on contiguous buffer for accumulate int n =req->real_size/smpi_datatype_size(datatype); smpi_op_apply(req->op, req->buf, req->old_buf, &n, &datatype); + xbt_free(req->buf); } } } diff --git a/src/smpi/smpi_comm.cpp b/src/smpi/smpi_comm.cpp index e5370df89d..c7a50b41ac 100644 --- a/src/smpi/smpi_comm.cpp +++ b/src/smpi/smpi_comm.cpp @@ -284,14 +284,13 @@ MPI_Comm smpi_comm_split(MPI_Comm comm, int color, int key) for(j = 0; j < count; j++) { if(rankmap[2 * j] != 0) { group_snd[reqs]=smpi_group_copy(group_out); - requests[reqs] = smpi_isend_init(&(group_snd[reqs]), 1, MPI_PTR, rankmap[2 * j], system_tag, comm); + requests[reqs] = smpi_mpi_isend(&(group_snd[reqs]), 1, MPI_PTR, rankmap[2 * j], system_tag, comm); reqs++; } } if(i != 0) { smpi_group_destroy(group_out); } - smpi_mpi_startall(reqs, requests); smpi_mpi_waitall(reqs, requests, MPI_STATUS_IGNORE); xbt_free(requests); }