Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enforce type for other MPI NULL constants.
[simgrid.git] / src / smpi / smpi_base.c
index e973e75..cb06b33 100644 (file)
@@ -621,7 +621,7 @@ int smpi_mpi_test(MPI_Request * request, MPI_Status * status) {
     flag = simcall_comm_test((*request)->action);
   if(flag) {
     finish_wait(request, status);
-    request=MPI_REQUEST_NULL;
+    *request = MPI_REQUEST_NULL;
   }else{
     smpi_empty_status(status);
   }
@@ -755,8 +755,14 @@ void smpi_mpi_wait(MPI_Request * request, MPI_Status * status)
   if ((*request)->action != NULL) { // this is not a detached send
     simcall_comm_wait((*request)->action, -1.0);
   }
+
+#ifdef HAVE_MC
+  if(MC_is_active())
+    (*request)->action->comm.dst_data = NULL; // dangling pointer : dst_data is freed with a wait, need to set it to NULL for system state comparison
+#endif
+
   finish_wait(request, status);
-  request=MPI_REQUEST_NULL;
+  *request = MPI_REQUEST_NULL;
   // FIXME for a detached send, finish_wait is not called:
 }