X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/33eca433c4f055cdfcc55e46d125f8708e1848c7..49514a74128a35ed4c0ba6dc190d70d35dd9fd7a:/src/smpi/smpi_base.c diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index dba43c97c7..8b60d8274d 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -905,9 +905,10 @@ 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); - - if((MC_is_active() || MC_record_replay_is_active()) && (*request)->action) +#ifdef HAVE_MC + if(MC_is_active() && (*request)->action) (*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); @@ -992,7 +993,7 @@ int smpi_mpi_waitall(int count, MPI_Request requests[], } for(c = 0; c < count; c++) { - if (MC_is_active() || MC_record_replay_is_active()) { + if (MC_is_active()) { smpi_mpi_wait(&requests[c], pstat); index = c; } else { @@ -1586,3 +1587,4 @@ void smpi_mpi_exscan(void *sendbuf, void *recvbuf, int count, xbt_free(tmpbufs); xbt_free(requests); } +