X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a3848e5ea6b2305d6059c89705edaccbec356455..860a17e0269e19f713cc922cf8c26d6fb8b764b5:/src/smpi/smpi_mpi_dt.c diff --git a/src/smpi/smpi_mpi_dt.c b/src/smpi/smpi_mpi_dt.c index 0db4d81a21..628b9805de 100644 --- a/src/smpi/smpi_mpi_dt.c +++ b/src/smpi/smpi_mpi_dt.c @@ -13,6 +13,8 @@ #include "private.h" #include "smpi_mpi_dt_private.h" +#include "mc/mc.h" +#include "simgrid/modelchecker.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi_dt, smpi, "Logging specific to SMPI (datatype)"); @@ -299,6 +301,11 @@ void smpi_datatype_create(MPI_Datatype* new_type, int size,int lb, int ub, int h new_t->substruct = struct_type; new_t->in_use=0; *new_type = new_t; + +#ifdef HAVE_MC + if(MC_is_active()) + MC_ignore(&(new_t->in_use), sizeof(new_t->in_use)); +#endif } void smpi_datatype_free(MPI_Datatype* type){ @@ -321,12 +328,22 @@ void smpi_datatype_free(MPI_Datatype* type){ void smpi_datatype_use(MPI_Datatype type){ if(type)type->in_use++; + +#ifdef HAVE_MC + if(MC_is_active()) + MC_ignore(&(type->in_use), sizeof(type->in_use)); +#endif } void smpi_datatype_unuse(MPI_Datatype type){ if(type && type->in_use-- == 0 && (type->flags & DT_FLAG_DESTROYED)) smpi_datatype_free(&type); + +#ifdef HAVE_MC + if(MC_is_active()) + MC_ignore(&(type->in_use), sizeof(type->in_use)); +#endif }