X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/21446da234b79358c6f7ed918e582e7e5a36d8b3..3fab894cbce7d5bdd43a6fc9aa647b3809d63507:/src/smpi/smpi_comm.cpp diff --git a/src/smpi/smpi_comm.cpp b/src/smpi/smpi_comm.cpp index e5370df89d..eef72d0038 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); } @@ -326,6 +325,7 @@ void smpi_comm_cleanup_attributes(MPI_Comm comm){ if(elem && elem->delete_fn) elem->delete_fn(comm, *key, value, &flag); } + xbt_dict_free(&comm->attributes); } } @@ -382,7 +382,7 @@ void smpi_comm_init_smp(MPI_Comm comm){ } //identify neighbours in comm //get the indexes of all processes sharing the same simix host - xbt_swag_t process_list = simcall_host_get_process_list(SIMIX_host_self()); + xbt_swag_t process_list = SIMIX_host_self()->processes(); int intra_comm_size = 0; //only one process/node, disable SMP support and return // if(intra_comm_size==1){