Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Throw unimplemented.
[simgrid.git] / src / smpi / smpi_pmpi.c
index 349bb58..ac393b2 100644 (file)
@@ -131,7 +131,7 @@ int PMPI_Abort(MPI_Comm comm, int errorcode)
 double PMPI_Wtime(void)
 {
   double time;
-  if (smpi_process_initialized() && !smpi_process_finalized() && !smpi_sample_is_running) {
+  if (smpi_process_initialized() && !smpi_process_finalized() && !smpi_process_get_sampling()) {
     smpi_bench_end();
     time = SIMIX_get_clock();
     smpi_bench_begin();
@@ -1230,9 +1230,11 @@ int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int src, int tag,
 
 #ifdef HAVE_TRACING
   //the src may not have been known at the beginning of the recv (MPI_ANY_SOURCE)
-  if(status!=MPI_STATUS_IGNORE)src_traced = smpi_group_index(smpi_comm_group(comm), status->MPI_SOURCE);
+  if(status!=MPI_STATUS_IGNORE){
+    src_traced = smpi_group_index(smpi_comm_group(comm), status->MPI_SOURCE);
+    TRACE_smpi_recv(rank, src_traced, rank);
+  }
   TRACE_smpi_ptp_out(rank, src_traced, rank, __FUNCTION__);
-  TRACE_smpi_recv(rank, src_traced, rank);
 #endif
   }
 
@@ -1568,7 +1570,8 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status)
 
 int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * status)
 {
-  int retval = 0;
+  if (index == NULL)
+    return MPI_ERR_ARG;
 
   smpi_bench_end();
 #ifdef HAVE_TRACING
@@ -1595,12 +1598,7 @@ int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * sta
   TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,extra);
 
 #endif
-  if (index == NULL) {
-    retval = MPI_ERR_ARG;
-  } else {
-    *index = smpi_mpi_waitany(count, requests, status);
-    retval = MPI_SUCCESS;
-  }
+  *index = smpi_mpi_waitany(count, requests, status);
 #ifdef HAVE_TRACING
   if(*index!=MPI_UNDEFINED){
     int src_traced = srcs[*index];
@@ -1623,7 +1621,7 @@ int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * sta
   }
 #endif
   smpi_bench_begin();
-  return retval;
+  return MPI_SUCCESS;
 }
 
 int PMPI_Waitall(int count, MPI_Request requests[], MPI_Status status[])