* 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,
#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
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;
}
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;