X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/baebdceda7d5a8232effba9ace34c0c6c1dadac3..27c7fbea86b5184b440537f27dfc0cfe726c6400:/src/smpi/smpi_pmpi.c diff --git a/src/smpi/smpi_pmpi.c b/src/smpi/smpi_pmpi.c index 86cb9d2856..d229642b43 100644 --- a/src/smpi/smpi_pmpi.c +++ b/src/smpi/smpi_pmpi.c @@ -5,7 +5,6 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "private.h" -#include "smpi_coll_private.h" #include "smpi_mpi_dt_private.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_pmpi, smpi, @@ -13,26 +12,13 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_pmpi, smpi, #ifdef HAVE_TRACING //this function need to be here because of the calls to smpi_bench -int TRACE_smpi_set_category(const char *category) +void TRACE_smpi_set_category(const char *category) { //need to end bench otherwise categories for execution tasks are wrong smpi_bench_end(); - int ret; - if (!IS_TRACING){ - ret = 1; - }else{ - if (category != NULL) { - ret = TRACE_category(category); - TRACE_category_set(SIMIX_process_self(), category); - }else{ - //if category is NULL, trace of platform is disabled for this process - TRACE_category_unset(SIMIX_process_self()); - ret = 0; - } - } + TRACE_internal_smpi_set_category (category); //begin bench after changing process's category smpi_bench_begin(); - return ret; } #endif @@ -101,7 +87,7 @@ int PMPI_Abort(MPI_Comm comm, int errorcode) smpi_bench_end(); smpi_process_destroy(); // FIXME: should kill all processes in comm instead - SIMIX_process_kill(SIMIX_process_self()); + SIMIX_req_process_kill(SIMIX_process_self()); return MPI_SUCCESS; } @@ -636,6 +622,8 @@ int PMPI_Comm_rank(MPI_Comm comm, int *rank) smpi_bench_end(); if (comm == MPI_COMM_NULL) { retval = MPI_ERR_COMM; + } else if (rank == NULL) { + retval = MPI_ERR_ARG; } else { *rank = smpi_comm_rank(comm); retval = MPI_SUCCESS;